您的当前位置:首页正文

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. 表示条件:109. 设int a[10];则数组a的首元素是__________________.

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 页

因篇幅问题不能全部显示,请点此查看更多更全内容