参***。
一、填空题。
注意:①逗号表达式的值只取决于最后一个逗号后面的表达式,但前面的表达式也是依次执行的。
②int a=b=c=4;是不允许的,但是int a,b,c; a=b=c=4;是允许的,a=b=c=4;相当于a=(b=(c=4));注意c=4不是赋值语句,而是赋值表达式,相当于先把4的值赋给c再执行后面的运算。对于赋值语句的相关内容详见谭浩强p71。
注意:当执行a=(+b)+(b);赋值运算时,自加和自减相当于是同时进行的,即相当于++b;--b;a=b+b;这三个语句依次执行。而执行a=++b>=c?
c--:b时,则是相当于先执行?前的判断,再执行赋值运算,因而相当于先执行++b;b>=c;,若判断为真,则执行a=c;c--;若判断为假,则执行--b;a=b;。
3.(1)50 48 (2)不是 # 不需要。
注意:define说白了就是替换,用定义的东西替换源文件中制定的内容。(1)题中第一空,在浮点数与整数的混合运算里,整数要先转化成浮点数,运算完之后得到结果50.
24,然后执行s=50.24的赋值运算,由于s是整形,这时系统自动将结果舍去小数部分转换为整形(不同于四舍五入),将50赋给s。第二空,用pi*r*r
代替s(r)后的表达式为s=(int)pi*r*r;(int)为强制转换,将临近的数值强制转换成整形,相当于为s=3*4*4;,故结果为48,而(int) (pi*r*r)的值是50。
4.(1)循环条件是否成立循环体。
7.字符串首元素的地址 ‘e’
二、判断题。
全部为正确的。
其中有些题干在打字的时候出现了问题,详见下面的备注。
备注:①判断题第4题第(1)个,应把题干中的“变量”全部删去,因为表达式两端也可以是常量。
判断题第6题第(5)个,正确的语句应为scanf(“%s”,b);,因为b本身就是地址,因而scanf(“%s”,&b)再加上取地址符显然是错误的。
判断题第10题第(2)个,循环体中应多加一个sum+=i;。
无论是程序改错还是补全程序,甚至是编写程序,应该大多是课本上类似的,建议大家多翻翻每章后面的程序举例和章节中的例题,谭浩强的书应该更重要一些,当然最好也别忽视了校内的那本,而且校内的那本难度要高一些,多看点没坏处。
三、程序改错题。
1.(1)int s float s
2)printf(“sqrt=%f”,s) printf(“sqrt=%.2f”,s)
估计这道题也可能考书上求三角形面积的例题,详见谭浩强p86页。但是考sqrt的话,重点应该就是包含这个头文件(#include<>)sqrt函数的名称sqrt( )对浮点型变量的定义,还有一些常规的填空,大概就是这些了吧。
2.(1)int i,j,sum int i,j,sum=0
2)scanf("%d",a[i][j]) scanf("%d",&a[i][j])
3.(1)sum+=x[++i] sum+=x[i++]
2)sum\=c sum/=c
4.(1)if(s[i]!=f) if(s[i]!=f’)
2)s[j++]0’ s[j]=’0’
四、补全程序题。
1.①
2.①jc(k-1) ②j3.①m+1 ②i ③return i(或return k)
4.①month ②year%4==0&&year%100!=0||year%400==0 ③day=31
目前从黄小丫处对唐朝晖最后一节课的笔记来看,第4题很可能考书上字符转换的例题,在谭浩强p87页处有一道,不知其他地方还有没有了,大家可以翻一翻。
五、读程序写结果。
注意:①z--表达式在数值上与z相等,在执行完语句后z的值才会减1.
在只有&&运算时,若&&左边的表达式为0则不会再计算右边的表达式,同样的,在只有||运算时,若||左边的表达式非0则不会再计算右边的表达式。因而再最后一次判断循环条件前z=0,x=3,y=2,由于此时z--的值为0,不再计算++x,同时也不再执行循环,之后z的值减1,而x与y的值不变。
2. n=10,f=55
注意:读程序写结果的题目一定要注意输出格式。
此题的函数实际上为斐波那契数列。
六、编程题。
参考程序:#include<>
main()
int i,n,max,min;
float sum,score[10];
char name[10][20];
scanf("%d",&n);
for(i=0;i scanf("%s%f",name[i],&score[i]);
max=score[0];min=score[0];sum=score[0];
for(i=1;i
printf("the **erage score:%.2f",sum/n);
printf("the highest:");
for(i=0;i if(score[i]==max)
printf("%s %.2f",name[i],score[i]);
printf("the lowest:");
for(i=0;i if(score[i]==min)
printf("%s %.2f",name[i],score[i]);
2019C语言试卷C
大连职业技术学院。2010 2011 学年第一学期。c语言程序设计试卷 c 本试卷共 5 页,计六道大题 答题说明 1 考生必须写清答题纸上要求填写的考试科目 系别 班级 姓名 考号等项内容 2 考生必须依照题签上的题目顺序,在答题纸上写清题号,按顺序答题。一 单项选择题 本大题共10小题,每小题1...
2019C语言试卷a
淮海工学院。2011 2012 学年第二学期 c语言试卷 闭卷。一 选择题 本题共20道小题,每小题2分,共40分。1.以下叙述正确的是。a 在 程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表示。b 程序由主函数组成。c 程序由若干函数组成。d 程序只允许包含一个函数。2.若变量已正确...
2019C语言试卷
1 c程序的三种基本结构是顺序结构 选择结构 循环结构 2 一个c程序有且仅有一个main函数。3 c语言描述 x和y都大于或等于z 的表达式是x z y z。4 c 语言中可以用来实现循环的结构化语句是while do while for。5 数组名表示数组在内存的首地址。6 int a 3,p ...