…………试卷装订线 ……………… 装订线内不要答题,不要填写考生信息………………试卷装订线 ………… |
| 武汉理工大学考试试卷(A卷) 2012 ~2013 学年 2 学期 计算机程序设计基础 (C语言)课程 闭卷 时间120分钟, 48 学时,2.5 学分,总分100分,占总评成绩70 % 年 月 日
一、选择题(本题20分,每小题1分) 1. 设int a,b;,则表达式(b=2, a=5, b++, a+b)的值是( ) A. 2 B. 5 C. 7 D. 8 2. 设int a=7; float x=2.5, y=4.7;, 则表达式x+3%(int)(x+y)/4的值是( ) A. 2.75 B. 3.5 C. 2.5 D. 0.0 3. 设char cl; , 则cl为小写英文字母字符的正确表达式为( ) A. ’a’<=c1<=’z’ B. (cl>=’a’)&&(cl<=’z’) C. (cl>=a)&&(c1<=z) D. (’a’<=c1)| |(’z’>=c1) 4. 一维数组a的正确说明语句为( ) A. int a(10); B. int n=10, a[n]; C. int n; D. #define SIZE 10 //位于程序首部 scanf(″%d″,&n); int a[SIZE]; int a[n]; 5. 已知字符’A’的ASCII码值是65,且char cl=’A’, c2=’D’; 则执行语句printf(″%d,%d\n″,cl,c2-2);后的输出结果是( ) A. A, D B. A, B C. 65, 68 D. 65, 66 6. 正确的条件语句为( ) A. if((a=b;)>0)t=a; B. if((a=b)>0)then t=a; C. if(a>b)t=a; D. if(a<b={a++;b++}); 7. 若有下列程序段: int x=l, y=2;x=x+y;y=x-y;x=x-y; 则执行后x和y的值分别为( ) A. 1和2 B. 2和2 C. 2和1 D. 1和1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
8. 设int k,a,b;unsigned long w=5;double x=1.42; 则不符合类型要求的表达式是( ) A. x%(-3) B. w+=2 C. k=(a=2,b=3) D. a+=(b=4)*(a=3) dubbo是什么意思中文9. 设int a=3,b=4;,则printf(“%d,%d,”(a,b),(b,a));的输出结果是( ) A. 3,4 B. 4,3 C. 3,4,4,3 D. 4,3,3,4 10. 设int i=l, k=2;, 则错误的循环语句是( ) A. for(i=0,k=-1;i++,k++); B. for(;k-1;i++); C. for(i=1,k=4;k--;i++); D. for(;k--;); 11.以下说法中正确的是( ) A.字符型变量可以存放字符串 B.递归调用是指函数调用自己 C.所有的外部函数只能在本文件中被调用 D.在循环体中break语句和continue语句的作用都是结束循环 12. 设char sl[ ]=“string1”,s2[8], *s3, *s4=“string2”;,则对系统函数strcpy的错误调用是( ) A. strcpy(s1, “string1”); B. strcpy(s4, “string2”); C. strcpy(“string2”,s2); D. strcpy(s3, “string1”); 13. 正确的数组定义及初始化的是( ) A. char a[10]={“string”}; B. int a[5]={0,1,2,3,4,5}; C. char a={“string”}; D. int a[ ]={x,y,z}; 14.定义函数时,缺省函数的类型声明,则函数类型取缺省类型( ) A.void B. char C. float D. int 15.设int a,b;,与a+=b++;等价的是( ) A.a=b++; B.a=++b; C.a=a+b++; D.a=a+++b; 16.执行语句“k=5*3;”后,变量k的当前值是( ) A. 15 B. 125 C. 8 D. 6 17.以下程序段的输出结果是() char str[12]={‘s’,‘t',‘d’,‘i’,‘o’}; printf(“%d\n",strlen(str)); A.5 B.6 C.11 D.12 18.主函数头中的“main”是( ) A.保留字 B.函数名 C.变量名 D.类型名 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
19.设a=1,b=2,c=3,d=4,则表达式:a<b?a:c<d?a:d的结果为( ). A.4 B.3 C.2 D.1 20.下列格式符中,可以用于以8进制形式输出整数的是( ) A. %d B. %8d C. %o D. %1d 选择题答案
二、填空题(每空2分,共20分) 21.设有宏定义#define X 10-4,则printf(“%d\n”,6*X);的输出结果是___________。 22.设double x;,则表达式x=5,(x+5)/2的值是___________。 23.能正确表述“2<x<3或x<-10”的C语言表达式是___ _______。 24.设有循环语句for(i=-1;i<=5;i++)i++;,则其循环体执行的次数是___________。 25.调用系统函数strcmp(),必须在程序的开头写上一条文件包含命令是___ ________。 26.设char s[15]={“programming”};,则printf(“%d\n”,strlen(s));的结果是___________。 27.设float a[3][4]={{7.5,8.2},{2.3,3.7,1.2},{1.0,3.4}};,则a[2][1]的值是___________。 28.设char a[20]={“Switch”},*p=a:,则*(p+2)的值是___________。 29.在函数间传递数据时,函数的形参和调用时的实参都是数组名,传递方式为___________。 30. 若声明“char a[15]=″Good morning!″;语句“printf(″%s″,a+2);”的输出结果为 ___ ___。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
三、程序阅读题.(读下列程序,写出程序的输出结果。每题5分,共15分) 31.main() { int x=1,a=0,b=0; switch(x) { case 0: a++; break; case l: b++; case 2: a++; b++; break; case 3: a++; b++; } printf(″a=%d,b=%d\n″,a,b); ) 该程序执行后输出的结果是 32.main() { int a,b,*p1=&a,*p2=&b; *p1=50;*p2=40; if(ci持续集成主要关注*p2<*p1)*p2=*p1; printf(″a=%d,b=%d\n″,a,b); } 运行结果: 33.f(int b) { static int y=3; return(b+y++); } main() { int a=2,i,k; for(i=0;i<2;i++) printf(″%d\n″,f(a++)); } 执行后输出结果是 。 | …………试卷装订线 ……………… 装订线内不要答题,不要填写考生信息………………试卷装订线 ………… | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
四、根据下列各编程题题意填空(每题5分,共15分) 34. 从键盘输入10个整数,用“冒泡排序法”由小到大进行排序。 #define N 10 main() { int i,j,t,a[N]; for(i=0;i<N;i++) scanf(“%d”,&a[i]); for(i=0;i<N-1;i++) for(冒泡排序代码c语言j=N-1;j>=i+1;__【1】____ ) if(a[j]<a[j-1])滚动条自动回到顶部怎么回事 { t=a[j];__【2】______;a[j-1]=t;} for(i=0;i<N;i++)printf(″%5d″, __【3】_____); printf(″\n″); } elementor无法加载【1】: 【2】 【3】 35.对两个整型变量先进行输入和输出,将它们的值交换后再输出。20 main( ) { int a,b,__【1】____; scanf(“%d%d”,__【2】_______); printf(“a=%d,b=%d\n”,a,b); temp=a, _【3】______, b=temp; printf(“a=%d,b=%d\n”,a,b); } 【1】: 【2】 【3】 36.为二维数组各个元素输入数据,计算全部元素之和并输出。 #define N 5 main( ) { int i,j,a[N][N],sum=__【1】_____; for(i=0;i<N;i++) for(j=0;j<N;j++) { | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
scanf(“%d”,&a[i][j]); sum+=___【2】___________; } printf(“sum=%d\n”,___【3】________); } 【1】: 【2】 【3】 五、编程题 (每题10分,共30分) 37.编程从键盘输入一个字符串,将它们逆序,并输出。例如输入“table”,则输出“elbat”。 38.有一函数: x+27 (x<1) y= 5x2-19 (1x<15) 3x+14 (x15) 写一程序,输入x,输出y。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
39.输入一个10行,6列的整型二维数组,求数组中的最小元素的值及最小元素所在行号和列号。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论