C语言基础测试( 答案)
一、填空题
1、 1、一个C源程序中至少应包含一个__ main__函数。(填写函数名) 2、 2、int a=24; printf(\"%o \输出结果是30__。
3、 3、当a=3,b=2,c=1时,表达式f=a>b>c的值是 __0_______。
4、 4、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是1________。
5、 5、若有定义:int a[2][3]={2,4,6,8,10,12};则*(&a[0][0]+2*2+1)的值是___12_____。 6、编写一段宏,确定一个变量是有符号数还是无符号数为 #define ISUNSIGNED(a) ______(a>=0 && -a>=0) ____。 二、单项选择题
1、 一个完整的C源程序是(B )
A、要由一个主函数(或)一个以上的非主函数构成
B、由一个且仅由一个主函数和零个以上(含零)的非主函数构成 C、要由一个主函数和一个以上的非主函数构成 D、由一个且只有一个主函数或多个非主函数构成
2、在C语言中,int型数据在内存中是以(B )形式存储的。 A、原码 B、补码 C、ASCII码 D、反码
3、若已定义char s[10];在下面表达式中不能表示s[1]的地址的是( B ) A、s+1 B、s++ C、&s[0]+1 D、&s[1]
4、程序段 int x=3; do { printf(“%d”,x-=2); } while (!(--x));的输出结果是( C ) A、1 B、3 0 C、1 -2 D、死循环 5、以下正确的定义语句是( D )
A、int a[1][4]={1,2,3,4,5}; B、float b[2][3]={{1},{1,2},{1,2,3}}; D、double y[][3]={0};
x[3][]={{1},{2},{3}};C
、
long
6、函数调用语句fun((exp1,exp2), (exp3,exp4,exp5))中实参的个数是( B ) A、1 B、2 C、4 D、5
7、以下类型说明语句:char w; int x; float y; double z;则表达式w*x+z-y的结果类型是(D ) A、float B、char C、int D、double
8、已知:int n,i=1,j=2;执行语句n=i 1、当运行以下程序时,从键盘键入right? { char c; while((c=getchar())!='?') putchar(++c); } 程序运行后的输出结果是: sjhiu 2. void fun(char *a, char *b) { a=b; (*a)++; } main (void) { char c1=\"A\p1=&c1; p2=&c2; fun(p1,p2); printf(“&c&c\\n”,c1,c2); } 该程序的输出结果是: &c&c 3. main(void) { int i,x,y; i=x=y=0; do { ++i; if(i%2!=0) {x=x+i;i++;} y=y+i++; } while (i<=7); printf(\"x=%d,y=%d\\n\} 该程序的输出结果是: x=1, y=20 4. main(void) { int a[2][3]={{1,2,3},{4,5,6}}; int m,*ptr; ptr=&a[0][0]; m=(*ptr)*(*(ptr+2))*(*(ptr+4)); printf(\"%d\\n\} 程序运行后的输出结果是: 15 5. int *p; void fun(int *p) { *p=10; } main(void) { int i; p = &i; fun(p); printf(\"%d\} 程序运行后的输出结果是: 10 6 fun3(int x) { static int a=3; a+=x; return a; } main(void) { int k=2, m=1, n; n=fun3(k); n=fun3(m); printf(“%d\\n”, n); } 程序运行后的输出结果是: 6 四、编程 只用一个一层循环实现以下功能: 从键盘输入一个整数n,然后打印n行,每行包含n个*。 如:从键盘输入3,打印如下: **** **** **** 因篇幅问题不能全部显示,请点此查看更多更全内容