C语言程序设计试题7
绝密★启用前
学院
学年 期末考试
级 专业( )《C
语言程序设计》试卷
题号 一 二 三 四 五 六 七 总 分 得分 评卷人
得分 评卷人
一、单项选择题(每小题2分,共40分) 1、C语言程序的基本单位是( )
A、程序行 B、语句 C、函数 D、字符
2、C语言规定,在一个源程序中main函数的位置( ). A) 必须在最开始 B) 必须在系统调用的库函数的后面 C) 可以任意 D) 必须在最后
2.下列符号串中符合C语言语法的标识符是( ). A) _121 B)121_ C) A*121 D) #12_1 3.表达式 1 || !3&&5的值为 ( ).
A) 0 B) 3 C) 5 D) 1
4. 一个完整的C程序包含一个或多个函数,对于main函数,下列不正确的是( A) 它是程序开始运行的第一个被调用的函数 B)有没有他都可以
C) 它是唯一不可缺少的函数 D) 没有他,程序就无法运行 5. 若已定义x和y为double型,则表达式”x=1,y=x+3/2”的值是( ). A) 1 B) 2 C) 2.0 D) 2.5 6. if语句的控制条件是( ).
A) 只能用关系表达式 B) 只能用关系或逻表达式 C) 能用逻辑表达式 D) 可以用任何表达式 7. 下列循环语句中( ).
for (a=1,b=1;a<4&& b!=4; a++);
A) 是无限循环 B) 循环4次 C) 循环次数不定 D) 循环3次 8.请选出合法的C语言赋值语句( ).
A) a=b=58 B) i++; C) a=58,b=58 D) k=int(a+b);
9.若有说明语句:int a[3][4];则对a数组元素的正确引用是( ).
A) a[2][4] B) a[1,3] C) a[1+1][2] D)a(2)(1) 10.与*&x等价的表达式是( ).
A) &(*x) B) x C) *x D) &*x
11.设a=5,b=6,c=7,d=8,m=2,n=2,执行”(m=a>b)&&(n=c>d)”后n的值为( ). A) 1 B) 2 C) 3 D) 4
12.设a=1,b=2,c=3,d=4,则表达式”ad?a:d”的结果为( ). A) 4 B) 3 C) 2 D) 1
13.C语言中,运算对象必须是整型的运算符是( ).
).
》试卷A A) && B) / C) % D) *
14.设a,b,c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是( ). A) 'a'&&'b' B) a<=b C) a||b+c&&b-c D) !((aint a=8,b=7,c=6,x=1;
if(a>6) if(b>7) if(c>8) x=2; else x=3; A) 0 B) 1 C) 2 D) 3 16.以下程序段的输出结果是( ). int x=3;
do {printf(“%3d”,x-=2);} while(!(--x));
A) 1 B) 3 0 C) 1 -2 D) 死循环 17.执行下列程序段后,变量y的值为( ). int x[]={1,2,3,4},y,*p=&x[1]; y=(*--p)++;
A) 1 B) 2 C) 3 D) 4
18. 设x和y均为int型变量,则执行下面循环后,y值为( ). for(y=1,x=1;y<=50;y++) { if(x==10) break;
if(x%2==1) { x+=5; continue;} x-=3; }
A) 2 B) 4 C) 6 D) 8 19. 合法的数组定义( ).
A) int a[]=\"string \"; B) int a[5]={0,1,2,3,4,5};
C) char a=\"string \"; D) char a[]={'0','1','2','3','4','5'}; 20. 设有定义语句char ch=’\\77’;则下列说法中正确的是( ). A) ch中含有1个字符 B) ch中含有2个字符 C) ch中含有3个字符 D) 语法出错
二、填空(本大题共10个小题,每题2分,共20分)
1. 用十进制来表示无符号短整型数据的数值范围是__________________. 2. 有下列运算符:+,&&,<,!=优先级别最高的是______________.
3. 设有定义”int a,b=10;”则执行语句”a=b%(2+1)”后的值是_______________. 4. 使用”getchar()”函数时,程序的开头必须写一条包含命_____________________. 5. 表示条件:10 10.设int a[ ]={1,2,3,4,5,6,7,8},*s=a;则*(s+1)的值是__________________. 三、程序分析题(本大题共5小题,每小题5分,共25分) 1. main( ) { 第 1 页 共 2 页 《 题答许不内以线横 int a[3][3]={1,4,17,3,6,19,2,5,18},i,s=0; for (i=0;i<=2;i++) s=s+a[i][2-i]; printf(″s=%d\\n″,s); } 输出结果______________________________________ 2. main( ) { int i; for(i=0;i<5;i++) switch(i%2) { case 0:printf(″1″);break; case 1:printf(″0″); } } 输出结果______________________________________ 3. main( ) { int x=20,y=40,*p; p=&x;printf(″%d,″,*p); *p=x+10; p=&y;printf(″%d\\n″,*p); *p=y+20; printf(″%d,%d\\n″,x,y); } 输出结果______________________________________ 4. int f(int a) { int b=4 static int c=4 b++; c++; return(a+b+c); } main( ) { int a=4,i; for(i=0;i<3;i++) printf(″%4d″,f(a)); } 输出结果______________________________________ 5. sum(int n) { 》试卷A if(n= =1) return(1); else return n+sum(n-1); } main( ) { printf(″%dn″,sum(10)); } 输出结果______________________________________ 四、程序设计题(本大题共2小题,共15分) 1. 输入一个圆半径(r),计算并输出圆的面积(s)和周长(l).(本题7分) 2. 写一个程序,读入一个3×3的矩阵,输出它的转置。(注:转置是将原矩阵的行列互换)(本题 8分) 第 2 页 共 2 页 《 因篇幅问题不能全部显示,请点此查看更多更全内容