版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 试卷装订线 装订线内不要答题,不要填写考生信息试卷装订线 姓 名学 号专业班级学院武汉理工大学考试试卷(A卷)2011 2012 学年 2 学期 计算机技术基础(C语言) 课程 闭卷 时间120分钟, 学时, 学分,总分100分,占总评成绩 % 年 月 日题号一二三四五六七八九十合计满分3010102525100得分得分一、 单选题(每小题1分,共30分)12345678910111213141516171819202122232425262728291. 若有说明语句:char ch1='065';则:ch1中A、包含1个字符B、包含2个字符C、包含3个字符D、字符个数不确
2、定,说明不正确2. 若有运算符:>、*=、?:、%、sizeof,按运算的优先级排列为(由低至高)A、*= ?:%>sizeofB、?: *= >%sizeofC、*= >?: sizeof%D、*= ?: >%sizeof3. 下面四个选项中,均是合法整型常量的选项是A、160 -0xffff 011B、-0xcdf 01a 0xeC、-01 986,012 0668D、-0x48a 2e5 0x4. 若x为int类型,则逗号表达式(x=4*5,x*5),x+25执行后,x的值是A、20B、100C、45D、表达式不正确5. 语句while (!y)中的表达式
3、!y 等价于A、y= =0 B、y!=1 C、y!=0 D、y= =16. 若有变量说明:int a=0,b=0,c=0;,以下符合C语言语法的赋值表达式是A、a=9+b+c=a+9B、a=9+b;c=a+9;C、a=(9+b,b+)D、a=9+b+=a+77. 设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是A、0255 B、065535C、-32768+32767D、-256+25578. sizeof(float)是A、双精度型表达式B、一个函数调用C、一个整型表达式D、一个不合法的表达式9. 若有说明语句:int a24;,则对a数组元素的正确引用是A、
4、a0+23 B、a04 C、a12+1 D、a2210. 若有定义:int k=7;float a=2.5,b=4.7;则表达式a+k%3*(int)(a+b)%2/4的值是A、3.500000B、2.7500000C、2.500000 D、0.00000011. 若有说明:int a=1,b=2,c=3,d=4;则表达式a<b?a:c<d?c:d的值是A、4B、3C、2D、112. 下面程序段的输出结果是int a=023;printf("%dn",-a);A、23B、17C、24D、1813. 以下能正确定义整型变量x、y和z并为其赋初值5的语句是A、int
5、 x=y=z=5;B、int x,y,z=5;C、x=5,y=5,z=5; D、int x=5,y=5,z=5;14. 逻辑运算符两侧运算对象的数据A、只能是0或1B、只能是0或非0正数C、只能是整型或字符型数据D、可以是任何类型的数据15. 在嵌套的条件语句if-else中,C语言规定:else子句总是与A、缩排位置相同的if配对B、其之前最近且不带else的if配对C、其之前最近的if配对D、第一个if配对16. 设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是for (y=100; x!=y; +x,y+) printf("*n");A、循
6、环体只执行一次B、是无限循环C、循环体一次都不执行D、for语句中存在语法错误17. 设i、j、和k是int型变量,且i=3,j=4,k=5,则以下值为0的表达式是A、'i'&&'j' B、i<=j C、i|j+k&&j-k D、!(i<j)&&!k|1)18. 在一个源文件中定义的全局变量的作用域为A、本文件的全部范围B、本程序的全部范围C、本函数的全部范围D、从定义的位置开始至本文件结束19. 若有以下类型说明语句:char a; int b;float c; double d; 则表达式a*b+d
7、-c的结果类型为A、floatB、charC、intD、double20. 执行以下程序段后,y的值是,x的值是int x=1, y=10;do y-=x; x+;while(y-<0);A、9 B、8 C、-2 D、2 E、4 F、321. 以下对一维数组a的正确说明是A、char a(10);B、int a ;C、int k=5,ak; D、char a ='a' , 'b' , 'c'22. 若有说明语句:int a 3=1,2,3,4,5,6,7,8; ,则a数组的行数为A、无确定值 B、2C、1D、323. 有两个字符数组a,b,
8、则以下能正确为a,b进行赋值的语句是A、gets(a); gets(b); B、gets(a, b);C、getchar(a); getchar(b); D、scanf("%s%s", &a, &b)24. 以下程序段的运行结果是char a7="abcdef"char b4="ABC"strcpy(a+1, b);printf("%s", a);A、B、aABCC、ABCD、025. 执行以下程序段后的b的值是int a=5,b=6,c=1,x=2,y=3,z=4;c=(a=c>x)&
9、;&(b=y>z);A、0B、1C、6D、526. 判断字符串str1是否大于字符串str2,应当使用A、if (str1>str2) B、if (strcmp(str1, str2)C、if (strcmp(str2, str1)>0) D、if (strcmp(str1, str2)>0)27. 以下有关宏替换的叙述不正确的是A、宏名必须用大写字母表示B、宏名不具有类型C、宏替换只是字符替换D、宏替换不占用运行时间28. 以下正确的函数说明是A、float fun(int a; int b)B、double fun( )C、int fun(int a, b)
10、D、int fun(char a )29. 以下程序的运行结果是main( ) int a=1, k;for (k=0; k<3; k+)printf("%d", f1(a); f1(int x) static int z=3, y=0;y+;z+;return(x+y+z); A、678B、666C、6810D、468得分二、 填空题(每空1分,共10分)1. C语言源程序的基本单位是。2. 若采用十进制数的表示形式,则077为,0xab为。3. 假设变量x和y均为整型,以下语句可以不借助任何变量把x、y中的值进行交换,请填空。 x+=; y=x-; x-=;4.
11、C程序在执行过程中,不检查数组下标是否。5. 若有:char s110, s210="books",能将字符串books赋给数组s1的语句是。6. C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是。7. 设有变量定义和输出函数语句:int a=20,*p=&a; printf(“%d”,*p);,则输出结果是。得分三、 判断题(每小题1分,共10分)1. for循环只能用于循环次数已经确定的情况。 ( )2. 若函数中的复合语句中定义了一个变量,则该变量在该函数中有效。 ( )3. 在switch语句中必须使用break语句。( )4. 函数的定义不可
12、以嵌套,但函数的调用可以嵌套。( )5. C语言中,数组名是一个地址常量,不能对它进行赋值运算。( )6. #include 命令行可以出现在源程序中需要的任何地方。( )7. 二维数组y有m列,则在yij前的元素个数为i*m+j-1。( )8. 若有char x ="1234"char y ='1', '2', '3', '4',,则x数组与y数组的长度相同。 ( )9. 如果函数定义类型与返回值类型不一致,以返回值类型为准。( )10. 在不同函数中可以使用相同名字的变量。( )试卷装订线 装订线内不要答题
13、,不要填写考生信息试卷装订线 得分四、 程序阅读,写出各小题的运行结果(每小题5分,共25分)1. #include<stdio.h>main( ) int k = 0; char c ='A' do switch(c+) case 'A': k+; break; case 'B': k-; case 'C': k+=2; break; case 'D': k%2; continue; case 'E': k=k*2; break; default: k=(c?1:0); k+; pri
14、ntf("%c k=%dn",c-1, k); while (c<'F');3. int fun1(int num) int x;if (num= =1) x=10;else x=fun1(num-1)+2;return(x); main( ) int y;printf("%dn", fun1(10); 4. fun (int s10, int n1, int n2) int i=n1, j=n2, t ;while(i<j) t=si; si=sj; sj=t; i+; j-; main() int a10 = 1,2,3,
15、4,5,6,7,8,9,0, i;fun(a,0,3); fun(a,4,9); fun(a,0,9);for(i=0; i<10; i+)printf(“%2d”,ai);2. #include <string.h>main( ) char c='a', t50;int n, k, j;gets(t);n=strlen(t);for (k=0; k<n; k+)if (tk=c) j=k; break; else j=-1;printf("%d", j);运行时输入:Whataday!<回车>5. #include<
16、;stdio.h>main( ) int i, j;for (i=5; i>=1; i-)for (j=1; j<=i; j+)printf("#");for (j=1; j<5-i; j+)putchar('*');putchar('n'); 得分五、 编写程序(7分+8分+10分=25分)1. 编写程序,运行时从键盘根据输入年份year和月份month,要求输出此月份对应的天数。2. 计算:s = 1! 2! 3! 4! 10!3. 在主函数中定义一个长度为20*2的二维数组来存放一个班级中20名学生的学号(120
17、)及C语言考试成绩(假设学号和成绩都是整型数据),要求通过键盘输入学号和成绩,并完成以下功能。(1)求出该班C语言考试的最高成绩并输出。(2)定义一个find()函数,用于通过学号来查询某学生的成绩,并将该学生的学号及成绩输出。在主函数中查询学号为9的学生的考试成绩。 装订线 装订线内不要答题,不要填写信息装订线 武汉理工大学考试试题答案(A卷)2011 2012 学年 2 学期 计算机技术基础(C语言) 课程六、 单选题(每小题1分,共30分)123456789101112131415ADAAACBCCCDDDDB1617181920212223242526272829CDDDBDDDABC
18、DABC七、 填空题(每空2分,共20分)1.函数。2.63,1713.y,y,y4.越界5.strcpy(s1,s2); 或 strcpy(s1, "books");6.单向值传递7.20八、 判断题(每小题1分,共10分)12345678910××××××九、 程序阅读,写出各小题的运行结果(每小题5分,共25分)1. A k=2B k=4C k=7E k=152. 23. 285. #*#*#* * 4. 5678901234十、 编写程序(7分+8分+10分=25分)1. main( ) int year,
19、 month, days; scanf("%d%d",&year,&month); (1分) switch(month) case 1: case 3: case 5: case 7: case 8: case 10: case 12: days=31; break; (2分) case 2: if (year%4= =0&&year%100!=0 | year%400= =0) days=29; else days=28;break; (2分) case 4: case 6: case 9: case 11: days=30; break;
20、 (1分) printf("The result is: %d.n",days); (1分)2. main()int i,k,flag;long s, t; s=0; flag=1; (2分)for(k=1;k<=10;k+) t=1; for(i=1;i<=k;i+) t=t*i; (2分) s=s+t*flag; flag = -flag; (2分)printf("ns=%ld",s); (2分) 3. main()int a202, i, j, max;for(i=0;i<20;i+)for(j=0;j<2;j+)scanf
21、(“%d”,&aij); (2分)max=a01;for(i=1;i<20;i+)if(ai1>max) max=ai1; (2分)printf("max=%dn",max); (1分)find(a, 9); (1分)find (int array202, int n) int i;for(i=0;i<20;i+)if(n= =arrayi0) break; (2分)if(i<20) printf(“Student %d: Score %dn”,arrayi0,arrayi1);else printf(“Not Found!n”); (2分)
22、 试卷装订线 装订线内不要答题,不要填写考生信息试卷装订线 姓 名学 号专业班级学院武汉理工大学考试试卷(B卷)2011 2012 学年 2 学期 计算机技术基础(C语言) 课程 闭卷 时间120分钟, 学时, 学分,总分100分,占总评成绩 % 年 月 日题号一二三四五六七八九十合计满分3624102010100得分得分十一、 单选题(每小题1分,共36分)12345678910111213141516171819202122232425262728291. 若有说明语句:char ch1='065';char ch2="2";char ch3='
23、2';则:ch1中,ch2中,ch3中A、包含1个字符B、包含2个字符C、包含3个字符D、字符个数不确定,说明不正确2. 若有运算符:>、*=、?:、%、sizeof,按运算的优先级排列为(由低至高)A、*=?:%>sizeofB、?: *=>%sizeofC、*=>?: sizeof%D、*=?: >%sizeof3. 下面四个选项中,均是合法整型常量的选项是A、160 -0xffff 011B、-0xcdf 01a 0xeC、-01 986,012 0668D、-0x48a 2e5 0x4. 若x为int类型,则逗号表达式(x=4*5,x*5),x+2
24、5的结果是,x的值是A、20B、100C、45D、表达式不正确5. 若有以下类型说明语句:char a; int b;float c; double d; 则表达式a*b+d-c的结果类型为A、floatB、charC、intD、double6. 若有变量说明:int a=0,b=0,c=0;,以下符合C语言语法的赋值表达式是A、a=9+b+c=a+9B、a=9+b;c=a+9;C、a=(9+b,b+)D、a=9+b+=a+77. 若有定义:int k=7;float a=2.5,b=4.7;则表达式a+k%3*(int)(a+b)%2/4的值是A、2.500000B、2.7500000C、3
25、.500000 D、0.000000188. sizeof(float)是A、双精度型表达式B、一个函数调用C、一个整型表达式D、一个不合法的表达式9. 若有代数式 ,则正确的C语言表达式是A、2*ln(x)*cos(x)/3*xB、2*ln(x)*cos(x)/(3*x)C、2*log(x)*cos(x)/(3*x)D、2*log(x)*cos(x)/3*x10. 设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是A、0255 B、065535C、-32768+32767D、-256+25511. 若有说明:int a=1,b=2,c=3,d=4;则表达式a&l
26、t;b?a:c<d?c:d的值是A、4B、3C、2D、112. 下面程序段的输出结果是int a=023;printf("%dn",-a);A、23B、17C、18D、2413. 执行以下程序段后的a值是,b的值是,c的值是int a=5,b=6,c=1,x=2,y=3,z=4;c=(a=c>x)&&(b=y>z);A、0B、6C、1D、514. 以下能正确定义整型变量x、y和z并为其赋初值5的语句是A、int x=y=z=5;B、int x,y,z=5;C、int x=5,y=5,z=5; D、x=5,y=5,z=5;15. 逻辑运算符两
27、侧运算对象的数据A、只能是0或1B、只能是0或非0正数C、只能是整型或字符型数据D、可以是任何类型的数据16. 语句while (!y)中的表达式 !y 等价于A、y=0 B、y!=1 C、y!=0 D、y=117. 在嵌套的条件语句if-else中,C语言规定:else子句总是与A、缩排位置相同的if配对B、其之前最近且不带else的if配对C、其之前最近的if配对D、第一个if配对18. 设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是for (y=100; x!=y; +x,y+) printf("*n");A、循环体只执行一次B、是无限循
28、环C、循环体一次都不执行D、for语句中存在语法错误19. 执行以下程序段后,y的值是,x的值是int x=1, y=10;do y-=x; x+;while(y-<0);A、9 B、8 C、-2 D、2 E、4 F、320. 执行以下程序段后a的值是,b的值是int a, b;for (b=1,a=1; b<=50; b+) if (a>=10) break; if (a%2=1) a+=5; continue;a-=3; A、10 B、6C、7D、8E、421. 以下对一维数组a的正确说明是A、char a(10);B、int a ;C、int k=5,ak; D、cha
29、r a ='a' , 'b' , 'c'22. 若有说明语句:int a 3=1,2,3,4,5,6,7,8; ,则a数组的行数为A、3B、2C、1D、无确定值23. 有两个字符数组a,b,则以下能正确为a,b进行赋值的语句是A、gets(a, b);B、scanf("%s%s", &a, &b);C、getchar(a); getchar(b); D、gets(a); gets(b);24. 以下程序段的运行结果是char a7="abcdef"char b4="ABC"
30、;strcpy(a, b);printf("%c", a5);A、B、0C、eD、f25. 若使用一维数组名作函数实参,则以下正确的说法是A、必须在主调函数中说明此数组的大小B、实参数组类型与形参数组类型可以不匹配C、在被调函数中,不需要考虑形参数组的大小D、实参数组名与形参数组名必须一致26. 若有以下宏定义:#define N 2#define Y(n) (N+1)*n则执行语句int z; z=2*(N+Y(5);后z的值是A、50B、34C、19D、无定值27. 在一个源文件中定义的全局变量的作用域为A、本文件的全部范围B、本程序的全部范围C、本函数的全部范围D、从
31、定义的位置开始至本文件结束28. 以下有关宏替换的叙述不正确的是A、宏名不具有类型B、宏名必须用大写字母表示C、宏替换只是字符替换D、宏替换不占用运行时间29. 以下正确的函数说明是A、double fun( )B、float fun(int a; int b)C、int fun(int a, b)D、int fun(char a )得分十二、 填空题(每空2分,共24分)1. C语言源程序的基本单位是。2. 若采用十进制数的表示形式,则077为,0xab为。3. 假设变量x和y均为整型,以下语句可以不借助任何变量把x、y中的值进行交换,请填空。 x+=; y=x-; x-=;4. 在语言中,
32、一个函数通常由两部分组成,它们是和。5. 凡是函数中未指定存储类别的局部变量,其隐含的存储类别为。6. 若有:char s110, s210="books",能将字符串books赋给数组s1的语句是。7. C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是。8. 设有变量定义和输出函数语句:int a=20,*p=&a; printf(“%d”,*p);,则输出结果是。得分十三、 判断题(每小题1分,共10分)1. 一个语言程序总是从主程序开始执行。( )2. 在switch语句中必须使用break语句。( )3. for循环只能用于循环次数已经确定的情
33、况。( )4. 字符数组中的字符串可以整体输入、输出。( )5. 若函数中的复合语句中定义了一个变量,则该变量在该函数中有效。 ( )6. #include 命令行可以出现在源程序中需要的任何地方。( )7. 二维数组y有m列,则在yij前的元素个数为i*m+j-1。( )试卷装订线 装订线内不要答题,不要填写考生信息试卷装订线 8. 有如下语句,char x ="1234"char y ='1', '2', '3', '4',,则x数组与y数组的长度相同。( )9. 如果函数定义类型与返回值类型不一致,以返回
34、值类型为准。( )10. 在不同函数中可以使用相同名字的变量。( )得分十四、 程序阅读,写出各小题的运行结果(每小题4分,共20分)3. int fun1(int num) int x;if (num= =1) x=10;else x=fun(num-1)+2;return(x); main( ) int y;printf("%dn", fun1(5); 1. #include <stdio.h>main( ) int ch;while (ch=getchar( )!='n') switch(ch-'1') case 0: case 1: putchar(ch+3);case 2: putchar(ch+3); break; case 3: putchar(ch+3); default: putchar(ch+1); break; printf("n");运行时输入:1234<回车>4. main( ) int a=1, k;for (k=0; k<3; k+)printf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中职(机电技术应用)机械基础期末测试题及解析
- 2025年大二(旅游管理)景区规划与管理期末试题
- 2025年大学园艺学(园艺产品贮藏加工学)试题及答案
- 2026年审计咨询(审计服务)考题及答案
- 2025年高职第二学年(导游服务类)景区讲解综合测试试题及答案
- 2025年高职无人机应用技术(无人机工程创意)试题及答案
- 2025年中职网络技术(无线网络搭建)试题及答案
- 2026年海南体育职业技术学院高职单招职业适应性测试备考试题有答案解析
- 2026年福建体育职业技术学院单招职业技能考试模拟试题带答案解析
- 2026年滁州职业技术学院高职单招职业适应性测试备考题库有答案解析
- 医院科教科长述职报告
- 解读建设宜居宜业和美乡村
- 口腔服务技巧培训课件
- 值班管理管理办法
- 水费催收管理办法
- 果园租赁协议书2025年
- 中医气一元论课件
- 妇产科护理核心制度
- 急性呼吸道梗阻
- 公司特殊贡献奖管理制度
- T/CA 105-2019手机壳套通用规范
评论
0/150
提交评论