第一范文网 - 专业文章范例文档资料分享平台

C语言课程期末考试-第一套

来源:用户分享 时间:2025/10/17 19:04:47 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

第一套《C语言》课程期末考试

一、填空题(每空1分,共20分)

1、十进制数 175 的八进制数和十六进制数分别是_____和____ 2、而十进制数 -134 的八进制数和十六进制数分别是____和____ 3、字符 '5' 和 'h' 的ASCII代码值分别为____和____ 4、已知 char a[]=\;则表达式sizeof(a)和sizeof(b)的值分别为____和____

5、已知 char a[]=\则表达式strlen(a)值为____ 6、循环语句for(k=1,c=0;k<8;k++)c++; 执行后c的值为____ 7、循环语句for(k=8,c=0;k>0;--k)c++; 执行后c的值为____

8、循环语句k=1;c=0;while(k<=8){k++;c++;} 执行后c的值为____ 9、循环语句k=8;c=0;do{k--;c++;} while(k>=0); 执行后c的值____

10、已知char a[5],*p=a; 问a[1],a+1,*(p+1),p[1]之中与众不同的是____ 11、已知int a=3,b=4,c=5; 则表达式a>b&&!c||1的值为____

12、已知int a=1,b=3,c=5; 则表达式a>=b>=c?a++:--b的值为____ 13、已知int j=5,m=2,k=7,n=4; 执行语句n+=m*=n=j%k;之后,n和m的值分别为____和____ 14、已知int a=8,b=4,c=1; 则表达式a-b>c&&b!=c的值为____ 15、已知int a=6,b=3,c=5; 则表达式b-a||b+c&&b-c的值为____

二、程序填空(每题4分,共20分) 1、下面C程序的输出是: ____

main() { int m=8;

if(m--<8)printf(\else printf(\}

2、下面C程序的输出是: ____ main()

{ int a=7,*p=&a; *p=a+11+*p;

printf (\}

3、下面C程序的输出是: ____

void f(int n)

{ printf(\if(n>0)f(n/10); }

main()

{ f(12345); } 4、

十个数的选择排升序:

main()

{ int a[11],i,j,t;

printf(\for(____)

scanf(____); for(i=____) for(j=__ __) if(a[j]__ __) { t=__ __; __ __; __ __; }

printf(\for(____)

printf(____); printf(____); }

5、如右图‘数字三角形’输出,请补上C程序:

main()

printf(\

29 30 31 32 33 34 35 36

45

三、选择题(每题一分共10分) (1) 设有声明:

struct t{int x,y;}s[2]={1,2,3,4}; struct t *p=s,*q=s;

++p->x和表达式(++q)->x的值分别为

A、 1,、 1,、 2,、 3,3 (2) 十进制数-27的八进制数和十六进制数为:

A、、0100033 0X801B C、、0177745 0XFFE5 (3) 为了避免嵌套的条件语句if-else的二义性,C语言规定:

A、else与缩排位置相同的if配对 、else与同一行上的if配对 C、else与其之后最近的if配对 、else与其前最近的尚未配对的if配对 (4) 如 int k=11;则执行语句k=1/3*++k;后k取值为:

A、、、、0

(5) 如果int a[][4]={1,2,3,4,5,6,7,8,9,10},*p=*(a+1);,则值为9的表达式是:

A、p+=3,*p++ B、p+=4,、p+=4,、p+=4,++*p (6)设有指向同一个数组中不同元素的两个指针,则对它们不能执行的运算是:

A、、-、、-- (7) 能用作变量名字的标识符是:

A、 、、ab-、a123_cd (8) break语句

A、只能出现在if语句中、只能出现在循环体中 C、可用在循环体和switch语句中、可用在函数中的任何语句 (9) 执行循环语句: for(x=y=0;y!=250||x<4;x++)y+=50;

:

A、 、 、、2 (10) 如 int x=14; 下列求商y(需小数结果)的表达式哪一个不对?

A、、、、y=x/5*1.0

四、改错,请将正确的语句和遗漏的语句写在本行的右边(每题5分共10分) 1、 用Fibonacci数列前20个数,以四行五列显示。 main() { int i;

f[i]=f[i-2]+f[i-1];

{ if(i/4=0) printf(\\ printf(\} }

2、判别并显示输入的整数是否为质数。 include ____

if v=1 then printf(\ else printf(\ } int { int i,

if(p%i==0) {} return v; }

五、编制C语言程序(每题10分共40分)

1、读入被开方数a,用迭代法求出a的平方根。求平方根的迭代公式为 X0=10

Xn=(Xn-1+a/Xn-1)/2 (n>0)

要求前后两次求出的X值的差的绝对值小于0.00001。

2、编程验证歌德巴赫猜想:1000~2000中的每一个偶数都可以表示成两个素数之和。如果此猜想成立,显示“all numbers are OK!”,否则显示“nnnn is not OK!”,这里nnnn是第一个使猜想不成立的偶数。

3、个人每月工资减去800元后的所得税税率为:不超过500元的部分,税率5%;超过500元至2000元,10%;超过2000元至5000元,15%;超过5000元,20% 。 编制C语言程序,由键盘输入每月的工资后,计算应交所得税的金额(精确到分)。

4、写一函数 float getfloat(char s[]);能把字符串s中的字符串转换成float型值。如果s中的字符串是“-123.45”,则应返回-123.45。

搜索更多关于: C语言课程期末考试-第一套 的文档
C语言课程期末考试-第一套.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c675fp50itj44s0w0dy1q_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top