当前位置:首页 > C语言课程期末考试-第七套
第七套期末考试题
一、填空题(每空1分,共20分)
1、结构化程序设计中的三种基本结构是:__ __ 、__ __和__ __ 2、十进制数75的八进制数和十六进制数分别是____和____ 3、十进制数-111的八进制数和十六进制数分别是____和____
4、已知float x=2.5,y=4.7,a=7; 则表达式 x+a%3*(int)(x+y)%2/4的值为____ 5、已知float x=3.5,y=2.5,a=2,b=3; 则表达式(float)(a+b)/2+(int)x%(int)y的值为____ 6、已知int a=3,b=4,c=5; 则表达式a+b>c&&b==c的值为____ 7、已知int a=3,b=4,c=5; 则表达式a||b+c&&b-c的值为____ 8、已知int a=3,b=4,c=5; 则表达式!(a>b)&&!c||1的值为____
9、已知int a=1,b=2,c=3,d=4; 则表达式a>b?a:c>d?c:d的值为____ 10、已知int a=3,b=4,c=5; 则表达式a+=++b+(--c)的值为____ 11、已知 int x=11,y=9; 则表达式x==y+1的值为____ 12、字符'A'和'a'的ASCII代码值分别为____和____ 13、已知 char a[]=\则表达式sizeof(a)和sizeof(b)的值分别为____和____
14、已知 char a[]=\则表达式strlen(a)值为____ 二、单项选择题(本大题共20小题,每小题1分,共20分) 1.C语言程序编译时,程序中的注释部分 A.参加编译,并会出现在目标程序中 B.参加编译,但不会出现在目标程序中 C.不参加编译,但会出现在目标程序中 D.不参加编译,也不会出现在目标程序中 2.下列表达式的值为0的是( )
A.3%5 B.3/5.0 C.3/5 D.3<5 3.正确的C语言用户自定义标识符是( )
A.print B.float C.when? D.random%2
4.设int a=3;则表达式a<1&&--a>1的运算结果和a的值分别是( ) A.0和2 B.0和3 C.1和2 D.1和3 5.下列叙述中,正确的是( )
A.引用带参的宏时,实际参数的类型应与宏定义时的形式参数类型相一致 B.宏名必须用大写字母表示
C.宏替换不占用运行时间,只占编译时间 D.在程序的一行上可以出现多个有效的宏定义 6.下列保留字中用于构成循环结构的是( )
A.if B.while C.switch D.default 7.与语句if(a>b)if(c>d)x=1;else x=2;等价的是( ) A.if(a>b){if(c>d)x=1;else x=2;} B.if(a>b){if(c>d)x=1;}else x=2; C.if((a>b)&&(c>d))x=1;else x=2; D.if(a<=b)x=2;else if(c>d) x=1;
8.设char x='a';则printf(\\n\;的输出是
A.x=a,y=97 B.x=97,y=a C.x=97,y=97 D.x=a,y=a
9.设int a[][4]={1,2,3,4,5,6,7,8,9};则数组a的第一维的大小是( ) A.2 B.3 C.4 D.无确定值 10.执行下列程序
int a[3][3]={{1},{2},{3}}; int b[3][3]={1,2,3}; main()
{printf(\\n”,a[1][0]+b[0][0]);} 后输出的结果是
A.0 B.1 C.2 D.3
11.设char str[100];int i=5;则引用数组元素的错误形式是( )
A.str[i+10] B.*(str+i) C.*(str+i-1) D.*((str++)+i) 12.设int x[]={1,2,3,4,5,6},*p=x;则值为3的表达式是( )
A.p+=2,*++p B.p+=2,*p++ C.p+=3,*p D.p+=2,++*p 13.在函数内,定义变量时存储类型符可省略的是( )
A.auto B.static C.extern D.register 14.执行下列程序( ) int a=3,b=4;
void fun(int x1,int x2)
{printf(\ main()
{int a=5,b=6;fun(a,b);} 后输出的结果是
A.3,4 B.11,1 C.11,4 D.11,6 15.设有定义语句 struct
{int a;float b;} d[3]={{1,4},{2,5},{6,7}};
则printf(\;的输出是( ) A.2.5 B.2.0 C.8.0 D.8.4 16.设有定义语句:enum t1 {a1,a2=7,a3,a4=15}time; ( ) 则枚举常量a2和a3的值分别为
A.1和2 B.2和3 C.7和2 D.7和8
17.将一个整数10002存到磁盘上,以ASCII码形式存储和以二进制形式存储,占用的字节数分别是( )
A.2和2 B.2和5 C.5和2 D.5和5 18.在文件使用方式中,字符串\表示( ) A.打开一个已存在的二进制文件,只能读取数据 B.打开一个文本文件,只能写入数据
C.打开一个已存在的文本文件,只能读取数据 D.打开一个二进制文件,只能写入数据 19.执行下列程序( ) # define F(y) 15>>y
#define PRINT(a) printf(\ main() {
PRINT(F(2)); }
后输出的结果是
A.3 B.3.5 C.14 D.7.5
20.main()函数可以带两个形参,一般分为argc和argv,其中argv可以定义为( ) A.int argv B.char * argv[]; C.char argv[]; D.char **argv[]; 三、程序填充题(本大题共3小题,每小题6分,共18分)
-6
1. 下面数pi()的功能是根据下列公式求π值(直到最后一上于10为止)。
?2?1?1121231234??????????...... 3353573579 double pi()
{ double s=0.0, t=1.0; int n;
for(__________; t>=__________; n++) { s+=t; t=n*t/(2*n+1); }
return(2.0*__________); }
2. 将一字符串中的小写英文字母改成大写。 main()
{ int i=0; char str[80]; scanf(“%s”, str); while(__________) {
if(__________) str[i]-=’a’-‘A’; __________; }
printf(“%s\\n”, str); }
3. 使用结构型计算复数x和y的和。 main()
{ struct comp { float re, im; };
__________ x,y,z;
scanf(“%f%f%f%f”, &x.re, &x.im, &y.re, &y.im); z.re=__________; z.im=__________;
printf(“%6.2f, %6.2f\\n”, z.re, z.im); }
四、以下程序若有错,请将正确的语句写在本行的右边(每题5分,共10分) 1、用Fibonacci数列前20个数,以四行五列显示。 main()
__ __
INT f[20]={1,1 __ __
____
f[i]=f[i-2]+f[i-1];
{ if(i%4=0) printf(\printf(\} }
2、显示二数中较大绝对值
____
__ __
____
{ long a,b,c,d,m; scanf('%d%d',a,b);
__ __
}
五、程序设计题(本大题共3小题,第1、2小题各10分,第3小题12分,共32分) 1. 编写一程序,输出如下图形。 * * * * * * * * * * * * * * * * * * * *
2. 编写一程序,从键盘输入10个实数,计算输出算术平均值。
3. 编写一个模拟简单计算器的程序,计算表达式:a1 op a2的值,要求a1、op、a2从键盘输入。其中a1、a2(作除数时不能为0)为数值,op为运算符+、-、*、/。
共分享92篇相关文档