C语言试卷(小红版)
一,填空题。(纯属抄袭,挂科自负) 1. 语句:
以 (;)为结束标志。 空语句: ( ;) 复合语句:
( { …… })
2. a=(x>y)?x:y; →(if(x>y) a=x;else a=y; )
3. int a;a=3%2; 结果是: ( 1 ) 4. int a;a=3.0/2;结果是:( 1.5 ) 5. x=x%4;→(x%=4) 6. int a=1,b=2,c=0;a && b || c;结果为: (1)
7. 在C语言中,常用(非零)来表示逻辑真. 8. 执行C语言逗号表达式:(a=3*5,a*4),a+15后的值为( 30),a的值为( 15 )。
9. 设a、b、d都是int型变量,则执行表达式 d=(a=2,b=a+1,b+2)后,b的值为
(3 )
10. 如果在一个复合语句中定义了一个变量,那么该变量(只在该复合语句中有效) 11. 已知字母A的ASCII码为十进制的65,且c2为字符型,则执行语句:
C2=’A’+’6’-‘3’后,C2中的值为( 68 )
12. 使用函数printf( )时,以字符格式输出时,应以(%c、%d、%s)作为格式符。 13. 在C语言中,有数组定义:int a[3][4],则系统为该数组分配的存储空间大小为(24 )B,长度为(12 )
14. 在C语言中,数组下标的编号从( 0 )开始。 15. 在C语言中,字符串数据的结束标志符用('\\0' )字符表示。
16. 在C语言中有表达式:strlen(‚abc123c‛);,则其值为( 7 )。 17.C语句if(表达式)中的表达式不能为常量。
二.判断题
1.表达式:x*=a+b与x=x*(a+b)的作用是一样的。对
2. 在C语言中,’a’ 与‛a‛是两个不同的字符常量。对 3. 如果有:char c; 则表达式C=’A’+32是错误的?对
4. 表达式 (int)x+y 与(int)(x+y)的作用是一样的?错
5. 在C语言中,‚!=‛为关系运算符,而‚!‛却是逻辑运算符?对 6. 通过语句: int a(4)可以定义一个具有4个元素的整型数组a?错 7. 在循环结构或选择结构的嵌套中,都只能是包含关系而不能有交叉关系。错 三.选择题 1. 下列符号在C语言程序设计中,是合法的变量标识符的是(3)
①%X ②a+b ③a123 ④test!
2. 下列符号中,不是C语言合法的变量标识符的是:(2)
①AC2 ②Int ③d_c ④a$
3.语言提供的合法的定义字符变量的关键字是(4) ①、double ②、short ③、int ④、char 4.下列C代码中,合法的数组定义是( 2 )
①char[ ]={‚string‛}; ②int a[5]={0,1,2,3,4,5}; ③char a={‛string‛}; ④char[5]={0,1,2,3,4,5};
5.定义一个具有10个元素的整型数组a,应当使用的语句是( 1 ) ①int a[10]; ②int a[2,5];
③int a[ ]; ④int a(2)(5)
6.下面对数组x的定义和初始化语句中,正确的是( 2 )
①int x[5]={0,1,2,3,4,5} ②int x[ ]={0,1,2,3,4,5} ③int x[5]={5*x};
④int x[ ]=(0,1,2,3,4,5}
7.9)对于二维数组a[5][10],下列对元素的引用正确的是( 3) ①a[6][0] ②a[0.5][4] ③a[4][4+5] ④a[5][10]
8.在C语言中,字符串常量‛china‛在内存中所占存储单元的个数为( 2) ①5B ②6B ③5b ④6b 9.执行如下语句序列:
static char a[10]={‚1,2,3,4,5‛}; int j;
j=strlen(a)后,j的值为( 2 )
①5 ②9 ③10 ④6 10.如果一个函数中没有return语句,那么:( 2 ) ①该函数没有返回值 ②该函数返回一个不确定的值 ③返回-1 ④程序运行出错
11.如果一个函数中有多个return语句,那么:( 2 )
①返回多个值; ②只返回一个值; ③返回-1; ④程序运行出错 12.以下说法正确的是( 3 )
①C语言程序在执行时总是从第一个函数开始执行
②在C语言程序中,要调用的函数必须在main( )中定义
③C语言程序只能从main( )函数开始执行,并从main( )函数退出 ④C语言程序中的main( )函数必须放在结构的开始部分 13.以下说法正确的是( 3 )
①C语言程序在执行时总是从第一个函数开始执行 ②在C语言程序中,要调用的函数必须在main()中定义
③C语言程序只能从main( )函数开始执行,并从main( )函数退出 ④C语言程序中的main()函数必须放在结构的开始部分 14,。以下说法正确的是( 1 )
①函数的定义不能嵌套,但函数的调用可以嵌套 ②函数的定义可以嵌套,但函数的调用不能嵌套 ③函数的定义和调用都可以嵌套 ④函数的定义和调用都不可以嵌套
15. .执行如下语句序列:
X=9;
While(x>7)
{ printf(‚*‛);
x- -; };后,输出结果是:(**)下列C代码中,合法的数组定义是( 2 ) ①char[ ]={‚string‛}; ②int a[5]={0,1,2,3,4,5}; ③char a={‛string‛}; ④char[5]={0,1,2,3,4,5};
四.阅读程序。 1. 执行如下语句序列:
static char a[10]={‚1,2,3,4,5‛}; int j;
j=strlen(a)后,j的值为( 9 )
2.在以下程序中,显示的数字一共有( 10 )个 main( ) { int i;
for(i=0;i<20;i++) { if (i%2==0) continue;
printf(‚%d\\n‛,i); } }
3.执行以下程序时,输入的数据为:25,13,10;正确的输出结果是(x+y+z= 48 ) main( )
{ int x,y,z;
scanf(‚%d,%d,%d‛,&x,&y,&z); printf(‚x+y+z=%d\\n‛,x+y+z); } 4.执行如下语句序列: #include ‚stdio.h‛ main( ) {int n=2,m=2; printf(‚%d,%d‛,++m,n--) } 后,输出的结果是( 3 2 )
5.已知 int x=30,y=50,z=80;以下语句执行后变量x,y,z的值分别为:(30 50 80) if(x>y) || xz) { z=x; x=y; y=z; } 6.执行如下程序: main( ){ int x=1,y=2,z=0,i=3; if(xif(xprintf(‚z=%d‛,z); }后,输出结果是: (2) 7.main( ){ int i=100;
while(i<=200)
if(i++%3= =0) break; printf(‚%d‛,i);
} 103 8.main( ) { int n;
for(n=10;n<=20;n++)
{ if((n%3)! =0) continue; printf(‚%d‛,n); } 12,15,18 } 9.
#define M 2
main( )
{ int a[5]={0},i;
for(i=0;i10.执行如下语句序列: X=9;While(x>7)
{ printf(‚*‛);
x- -; };后,输出结果是:** 11.7)include ‚stdio.h‛ main( )
{ int a[4]={5,16,7,14};
int i;
for(i=0;i<4;i++) a[i]+=i; for(i=3;i>=0;i--) printf(‚%d ‛,a[i]); } 17 9 17 5 12.8)main( )
{ int k;
int a[3][3]={1,2,3,4,5,6,7,8,9}; for(k=0;k<3;k++) printf(‚%d ‛,a[k][2-k]); } 3 5 7
13.1)main( ) { int x ,y; x=1; y=-1;
if(x!=0)
if(x>0) y=1; else y=0; printf(‚y=%d‛,y); }y=1
14.两次运行下面的程序:
main( )
{ int x;
scanf(‚%d‛,&x);
if (x>5) printf(‚%d‛,x=x-5); else printf(‚%d\\n‛,x=x+5);
}
如果从键盘上分别输入6 和4,则输出结果是(1 , 9 ) 15.执行下列程序后,输出结果C的值是( 2 ) main( )
{int a=2,b=-1,c=2; if(aif(b<0) c=0; else c=c+1;
printf(‚%d\\n‛,c); } 16.有以下程序段: int a=1,b=10;
do{b-=a;
a++; }while(b--<0);
则执行后b的值为( 8 ) 17.main( )
{ int m=1,x=2,y=3,z=4;
m=(m>x) ? m:x; m=(m>y) ? m:y;
m=(m>z) ? m:z; }后,m的值是( 4 ) 18.执行如下语句序列: int y=0,j;
for(j=0;j<10;j++)
{ if(j%2==0) continue; y+=j;} 后y的值为( 25 ) 五.程序填空。
1下面的程序为求解所有的水仙花素数. #include ‚stdio.h‛ #include \"conio.h\" main( )
{ int i,j,k,n;
printf(\"'water flower'number is:\"); for( n=100;n<1000;n++ ③ ) { i=n/100; j=n/10%10;
k= n%10④ ;
if(i*100+j*10+k ==i*i*i+j*j*j+k*k*k ⑤ ) printf(\"%-5d\ getch( );
2.#include ‚stdio.h‛
main( )
{char ch;
ch=getchar();
if( ch>='A'&&ch<='Z'||ch>='a'&&ch<='z' ③ ) printf(‚it is an english character!\\n‛) else if( ch>='0'&&ch<='9' ④ ) printf(‚it is an number !\\n‛)
else if( ch==' ' ⑤ )
printf(‚it is a space character!\\n‛) else printf(‚it is other character!\\n‛) }
六.程序设计
据说有冒泡法。童鞋们不要看得太重。就算挂了科也不能影响耍的心情!