|
|
一、选择题(每题仅有1个正确选项选对得2分,错选、多选或漏选均不得分。本题共10小题,每小题2分,共20分)。 1、以下不能定义为用户标识符的是( )。 (A) MAIN (B) _HJ (C) 2ong (D) LINE1
2、下列符号中用来表示C语言中的回车换行的是( )。 (A) \r (B) \n (C) \b (D) \t
3、设变量a是整型,b是实型,c是双精度型,则表达式2+' a '+b*c值的数据类型是( )。 (A) int (B) float (C) double (D)char
4、下列保留字中用于构成循环结构的是( )。 (A) if (B) while (C) switch (D) default
5、C程序由( )组成。 (A) 子程序 (B) 主程序和子程序 (C) 函数 (D) 过程
6、在Visual C++ 6.0环境下,C源程序文件名的默认后缀是( )。 (A) .cpp (B) .exe (C) .obj (D) .dsp
7、以下程序运行结果是:( )。 (A) 无限次输出:"你好,中国!" (B) 输出5次"你好,中国!" (C) 没有任何输出 (D) 编译错误,不能运行 #include<stdio.h> main() { while(5) printf("你好,中国!"); }
8、一个C程序的执行是从( )。 (A) 本程序的main()函数开始,到main函数结束. (B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束. (C) 本程序的main()函数开始,到本程序文件的最后一个函数结束. (D) 本程序文件的第一个函数开始,到本程序main函数结束.
9、以下if语句错误的是( )。 (A) if (x<y) x++; y++; else x--; y--; (B) if (x) x+=y; (C) if (x<y); (D) if (x!=y) scanf ("%d",&x); else x++;
10、以下叙述正确的是( ) (A) do-while语句构成的循环不能用其它语句构成的循环来代替。 (B) do-while语句构成的循环只能用break语句退出。 (C) 用do-while语句构成的循环,在while后的表达式为非零时结束循环。 (D) 用do-while语句构成的循环,在while后的表达式为零时结束循环。
二、填空题(请将你认为的正确答案填入答题纸,每空2分,共20分)。 1、在C语言中,包含头文件的预处理命令以(1)开头。 2、在C语言中,主函数名是(1)。 3、如下语句int i,* p; p=&i; 其作用是将整型变量i的(1)赋值给指针变量p。 4、对于while和do……while这两种循环语句,(1)语句至少执行1次循环体,而(2)语句可以一次也不执行循环体。 5、整形数组a[3][4]有(1)个元素,数组名a代表着这个数组在内存中的(2)。 6、定义在函数之外的变量称为(1)变量,定义在函数之内的变量称为局部变量。 7、定义结构体类型的关键字是(1),定义枚举型的关键字是(2)。
三、写出程序运行结果(本题共4小题,每小题5分,共计20分)。 1、程序1 #include<stdio.h> main() { int i=1,j; j=i++; printf("i的值是%d,j的值是%d\n",i,j); }
2、程序2: #include<stdio.h> main() { int i=1,j; j=--i; printf("i的值是%d,j的值是%d\n",i,j); }
3、程序3: #include <stdio.h> main() { int a[10],j,k=0; for (j=0; j<10; j++ ) a[j]=j; for (j=0; j<4 ; j++ ) k+=a[j]+j; printf("%d\n",k); }
4、程序4: #include <stdio.h> int func(int a,int b) { static int m=0,i=2; i+=m+1; m=i+a+b; return(m); } main() { int k=4,m=1,p; p=func(k,m); printf("%d,",p); p=func(k,m); printf("%d\n",p); }
四、程序填空题(填空完善程序,共4空,每空2.5分,共10分)。 1、下面的程序判断输入的一个年份是否是闰年(闰年的定义:能被4整除但不能被100整除,或者能被400整除),请补充完善。 #include <stdio.h> main() { int year; printf("请输入一个年份:"); scanf("%d", (1) ); if (year<=0) printf("年份必须是一个正整数。\n"); else if ( (2) ) printf("%d年是闰年。\n",year); else printf("%d年不是闰年。\n",year); }
2、下面的程序将输出一个二维整型数组,请补充完善。 #include <stdio.h> main() { int a[3][3]={ {1}, {0,1}, {0,0,1}}; for(int i=0; (1) ;i++) { for(int j=0;j<3;j++) printf("%3d", (2) ); printf("\n"); } }
五、编程题(请按要求编写程序,每题10分,共30分) 1、编写一个程序,计算1+2+3+……+100的值。
0 n=1 2、有一个数列 a(n)= 1 n=2 a(n-1)+a(n+1) n>3 编写一个程序,求a(20)。
3、有一种判断人的体型的方法,即使用公式: t = 其中t是体指数,w是体重(单位:公斤),h是身高(单位:米)。 根据t的值进行判断方法如下:
体指数取值 体型 t<=18 低体重 18<t<=25 正常体重 25<t<=27 偏重 t>27 肥胖 试编写一个程序实现:由用户输入一个人的身高和体重,程序自动判断其体型。 |
|
答案: |
一、单项选择题 题号 1 2 3 4 5 6 7 8 9 10 答题 C B C B C A A A A D
二、填空题 1、(1)#include 2、(1)main 3、(1)地址 4、(1)do……while (2)while 5、(1)12 (2)首地址 6、(1)全局 7、(1)struct (2)enum
三、写出程序运行结果 1、运行结果:i的值是2,j的值是1 2、运行结果:i的值是0,j的值是0 3、运行结果:12 4、运行结果:8,17 四、程序填空题 1 (1)&year (2) year%400= =0 || year%4= =0 && year%100!=0 2 (1)i<3 (2) a[i][j]
五、编程题 1、 方法1: #include<stdio.h> main() { int i,s=0; i=1; while(i<=100) { s+=i; i++; } printf("%d\n",s); }
方法2: #include<stdio.h> main() { int i,s=0; i=1; do { s+=i; i++; }while(i<=100); printf("%d\n",s);
}
方法3: #include<stdio.h> main() { int i,s=0; for(i=1;i<=100;i++) {s+=i;} printf("%d\n",s); }
2、 方法1: #include <stdio.h>
int seqa(int n) { int a1=1; int a2=2; int t; int an; if (n==1) an=1; else if(n==2) an=2; else { for (int i=3;i<=n;i++) { an=a1+a2; t=a1; a1=a2; a2+=t; } } return an; } main() { int n; int an; printf("请输入n:\n"); scanf("%d",&n); if (n<=0) printf("错误,请输入正整数。\n"); else { an=seqa(n); printf(a(%d)=%d\n",n,an); } }
方法2: int seqa2(int n) { int an; if (n==1) an=1; else if(n==2) an=2; else an=seqa2(n-1)+seqa2(n-2); return an; } main() { int n; int an; printf("请输入n:\n"); scanf("%d",&n); if (n<=0) printf("错误,请输入正整数。\n"); else { an=seqa(n); printf(a(%d)=%d\n",n,an); } }
3、 #include <stdio.h> main() { float t,w,h; printf("请输入您的身高(单位:米):\n"); scanf("%f",&h); printf("请输入您的体重(单位:千克):\n"); scanf("%f",&w); t=w/(h*h); if(t<=18) printf("请注意身体,您的体重偏低\n"); else if(t>18 && t<=25) printf("恭喜您,您的体重正常\n"); else if (t>25 && t<=27) printf("抱歉,您有些偏重\n"); else printf("很抱歉,您处于肥胖状态。\n"); } |
|