a=1;b=2;c=3;while(a<b<c) {t=a;a=b;b=t;c--;}printf("%d,%d,%d",a,b,c);A.1,2,0 B. 2,1,0 C. 1,2,1 D. 2,1,2学了这么久才发现。原来a<b<c这个条件是“或”的关系。也就是只要满足一个就执行。
#include <stdio.h>/*4、写一个函数,使给定的一个二维数组(3 x 3)转置,即行列互换。*/void change(int *p);main(){ int x,y; int arr[3][3]={{1,2,3},{4,5,6},{7,8,9}}; for(x=0;x<3;x++) { for(y=0;y<3;y++) { printf("【%d】",arr[x][y]); } printf("\n"); } printf("行列交换...
#include <stdio.h>#include <stdlib.h>#include <time.h>#define NUM_COLOR 4 /*花色*/#define NUM_PAI 13 /*牌数*/#define TRUE 1#define FALSE 0typedef int Bool;main(){ Bool in_hand[NUM_COLOR] [NUM_PAI] = {0}; /*将花色和牌数都初始化为FALSE*/ int num_cards, pai, color; const char rank_code[] = {...
#include <stdio.h>int gcd(int m,int n); /*最大公约数*/main(){ int a,b; printf("Enter two numbers:"); scanf("%d%d",&a,&b); printf("%d",gcd(a,b));}int gcd(int m,int n) /*最大公约数函数*/{ int i,c; c=m>n?m:n; for(i=c;i>=1;i--) if((m%i==0)&&(n%i==0)) break; ret...
#include <stdio.h>#define N 10 /*声明N为10*/main(){ int a[N],*p; /*声明一个数组a[]和一个指针p*/ printf("Enter %d numbers:\n",N); for(p=a;p<a+N;p++) /*给数组a[N]赋值*/ scanf("%d",p); printf("In reverse order:\n"); for(p=a+N-1;p>=a;p--) /*有最后一个方向输出数组a[N]里面的值*/ printf("%...
#include <stdio.h>main(){ /* int a[5],i,*pa; //定义整型数组和指针 pa=a; //将指针pa指向数组a for(i=0;i<5;i++){ //循环 *pa=i; //将变量i的值赋给由指针pa指向的a[]的数组单元 pa++; //将指针pa指向a[]的下一个单元 } pa=a; //指针pa重新取得数组a的首地址 for(i=0;i<5;i++){ //循环 printf("...
指针的基本概念 在计算机中,所有的数据都是存放在存储器中的。 一般把存储器中的一个字节称为一个内存单元,
不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等, 在第二章中已有详细的介绍。为了正确地访问这些内存单元,
必须为每个内存单元编上号。 根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址。
既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。指针”是指地址,
是常量,“指针变量”是指取值为地址的变量。 定义指针的目的是为了通过指针去访问内存单元。 既然指针变量的值是一个地址,
那么这个...
发现的好东西。当然要留下来看了。。。。。指针是一个
特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的
类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子: 例一:
(1)int*ptr; (2)char*ptr; (3)int**ptr; (4)int(*ptr)[3];
(5)int*(*ptr)[4]; 指针的类型 从语法的角度看,你只要把指针声明语句里的指针名字去掉,剩下的部
分就是这个指针的类型。这是指针本身...
觉得还可以就抄过来了。。呵呵。基本要求 1.1 程序结构清
析,简单易懂,单个函数的程序行数不
得超过100行。 1.2 打算干什么,要简单,直接了当,代码精简,避免垃圾程序。 1.3 尽量使用标准库
函数和公共函数。 1.4 不要随意定义全局变量,尽量使用局部变量。 1.5 使用括号以避免
二义性。 2.可读性要求 2.1 可读性第一,效率第二。 2.2 保持注释与代码完全一致。 2.3 每
个源程序文件,都有
文件头说明,说明规格见规范。 2.4 每个函数,都有函数头说明,说明规格见规范。 2.5 主要变量(结构、联合、类或
对象)定义或引用时,注释...
昨天浑浑噩噩的过了一天。。什么都没做。。浪费了一天。。昨晚赶工做了一个网页。今天早上居然破纪录睡到12点多。。。中午重新学习了高中的数学书。看了那些秦九韶算法。辗转相除法,更相减损术。顺便学习了进位制的转换。等等。不过没有找到那个排列和组合的。。忘记要怎么算了。。算了。以后再找吧。嘿嘿。。好像还看了些数列。。感觉自己高中的数学是白学了。。都忘记光了啊。。难过。。。下午或者晚上有时间学习C的话。再来记录下吧。尽量不要浪费了今天。给自己加油。
#include <stdio.h>#define LETTER 1void main(){ char str[20]="C Language",c; /**/----输入一行字母字符,根据需要设置条件编译使之能将字母全改为大写(或小写)输出---*int i;while((c=str[i])!='\0'){i++;#if LETTERif(c>='a'&&c<='z')c=c-32;#elseif(c>='A'&&c<='z')c=c+32;#endifprintf("%c",c);}/*--------------------------...
#include <stdio.h>int age(int n) /*函数一定要放在main函数的上面*/{ /*计算后一个比前一个数大2的递归*/ int c; if(n==1) c=10; else c=age(n-1)+2; return(c);}int att(int a) /*计算n!的递归*/{ int j; if(a==0||a==1) j=1; else j=att(a-1)*a; re...
1,1,2,3,5,8,13,21,34,55......意思是除了第一个和第二个数是1.其他的值都是前面两个值的和。求第二十个的值。有3种方法。正常的循环。数组。递归。嘿嘿:暂时不写出来。过段时间看看自己还能不能写出来。/*----------------------------------------------------------------------*/
所有的变量声明必须在程序的开始出。。。。
\0是空字符位。如果程序中遇到时会自动到此结束。
x=i+++j 优先级
!x 判断x==0Char c[...
#include <stdio.h>main(){ float a,b; a=123456.789e5; /*浮点数如果用一个很大的数加一个很小的数,它最多精确7个数字。*/ b=a+20; printf("%f\n",b); system("PAUSE"); }还有就是switch语句不能用float的。/*----------------------------------数组-----------------------------------*/数组的问题:不支持动态数组。字符数组。要用字符串数组的话就用指针咯。1.数组的...
#include<string.h>int main(){ char a[1000]; /*一开始就能想到char的范围-128~127*/ int i; for(i=0;i<1000;i++) { a[i]=(-1-i); } printf("%d\n",strlen(a)); /*strlen都不知道是用来干嘛的。2010.04.17*/ system("PAUSE"); return 0;}/*由这题去了解到了原码、反码、补码 */ /*还有sizeof和strlen之间的区别关系*/ ...
一、sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。二、sizeof的使用方法 1、用于数据类型 sizeof使用形式:sizeof(type) 数据类型必须用括号括住。如sizeof(int)。 2、用于变量 sizeof使用形式:sizeof(var_name)或sizeof var_name 变量名可以不用括号括住。如sizeof (var_name),sizeof var_...
scanf和getchar函数是输入函数,接收来自键盘的输入数据。scanf是格式输入函数, 可按指定的格式输入任意类型数据。getchar
函数是字符输入函数, 只能接收单个字符。 printf和putchar函数是输出函数,向显示器屏幕输出数据。printf是格式输
出函数,可按指定的格式显示任意类型的数据。putchar是字符显示函数,只能显示单个字符。指针类型 指针是一种特殊的,同时又是具有重要作用的数据类型。其值用来
表示某个量在内存储器中的地址。虽然指针变量的取值类似于整型量,但这是两个类型完全不同的量,因此不能混为一谈。4.空类型在调用函数值时,通常应向调
用者返...
#include<stdio.h>main(){ int s[100]; int t[3]; char i; printf("请输入100个以内的数字,按z结束:\n"); for( i=0;i<100;i++) { scanf("%s",&t); if(strcmp(t,"z")==0) { printf("输入结束,一共输入了%d个数\n",i); system("PAUSE"); exit(0); ...
#include <stdio.h>main(){ int a[10],i,j,k,t; /*声明变量 */ printf("请输入十个数字:\n"); for(i=0;i<10;i++) /*循环输入十个数字 并存入数组*/ { scanf("%d",&a[i]); } printf("\n"); for(i=0;i<9;i++) /*i=k,j=i+1;即:j=k+1; */ { k=i; for(...
#include <stdio.h>main() { int i,j,k,s; /*声明变量i为百位,j为十位,k为个位,s为这个三位数。 */ printf("水仙花数分别为:\n"); for(s=100;s<1000;s++) //因为s是三位数,所以是100到1000之间 { i=s/100; j=s/10%10; k=s%10; if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) //水仙花数的条件 { p...