第五套
一、判断题
第1题:在C语言中英文小写字母b的ASCII码为74H 错
第2题:60、在标准C语言中,可以用typedef定义类型,所以用typedef可以增加C语言的数据类型。 错
第3题:在标准C中,以“?”形式输出的所有数字共有8位。 错 第4题:在标准C中,“=”是判断两个数是否相等。 :错
第5题:对于指向函数的指针变量,它所指向的函数的参数个数一定要相同。 错 第6题:构成C程序的基本单位是函数,所有函数名都可以由用户命名 错 第7题:“A”是一个字符常量。 错
第8题:结构体变量在内存中所占的字节数是由其各个成员所占字节的总和。 对 第9题:在if语句中,else前一个语句可不加“;”。 错
第10题:C程序中注释部分可以出现在程序中任意合适的地方。 对
二、选择题 (请选择正确的选项)
第1题:执行语句:for(i=1;i++<4;); 后变量i的值是 C
A、3 B、4 C、5 D、不定
第2题:C语言结构体类型变量在程序执行期间 A
A、所有成员一直驻留在内存中 B、只有一个成员驻留在内存在 C、部分成员驻留在内存中 D、没有成员驻留在内存中 第3题:若执行fopen函数时发生错误,则函数的返回值是: B A、地址值 B、0 C、1 D、eof 第4题:C语言结构体类型变量在程序执行期间 A
A、所有成员一直驻留在内存中 B、只有一个成员驻留在内存在 C、部分成员驻留在内存中 D、没有成员驻留在内存中 第5题:下面程序段输出结果为 A char str[ ]=\
printf(\
A、 5 B、 7 C、 12 D、 14 第6题:设有程序段 int k=10; while(k=0) k=k-1;则下面描述中正确的是: C
A、while循环执行10次 B、循环是无限循环
C、循环体语句一次也不执行 D、循环体语句执行一次
第7题:以下错误的描述是:函数调用可以 D
A、出现在执行语句中 B、出现在一个表达式中 C、做为一个函数的实参 D、做为一个函数的形参
第8题:设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是(2-12) B
A、k=*p1+*p2; B、p2=k; C、p1=p2; D、k=*p1 *(*p2); 第9题:能正确表示a≥10或a≤0的关系表达式是 C
A、a>=10 or a<=0 B、a>=10│a<=0 C、a>=10 || a<=0 D、a>=10 &&a<=0
第10题:C 语言程序的三种基本结构是顺序结构、选择结构和______结构 C A、递归 B、转移 C、循环 D、嵌套
while((____) != '\\n')
三、填空题 (请把正确的选项填入试题前 if(____||ch>='A'&&ch<
='Z') 的空格中)
letter++; 第1题:下列程序读入了一个时间数
else if (____) digit ++; 值,将其加1秒后输出,时间格式为
else___; hh:mm:ss,即时:分:秒。当小时等于24小时,
置为0。#include<stdio.h>
struct { int hour; int minute; int second; }time; void main() { scanf(\ time.second++; if(____==60) { time.minute++; ; if(time.minute==60) { time.hour++; time.minute=0; time.hour=24; if(___) time.hour=0; } } printf(\me.second); } 参考答案:&time.hour
参考答案:&time.minute
参考答案:&time.second
参考答案:time.second
参考答案:time.second=0
第2题: 输入一行字符,统计并输出其
中英文字母、数字和其他字符的个数。运行
示例: Enter characters: f(x,y)=3x+5y-10 letter=5, digit=4, other=6 #include <stdio.h> void main( ) { int digit, I, letter, other; char ch; digit = letter = other = 0; printf(\ printf(\other=%d\\n\ } 参考答案:ch=getchar() 参考答案:ch>='a'&&ch<='z' 参考答案:ch >= '0' && ch <= '9' 参考答案:other++ 第3题: 2、下列程序利用函数求两个数 的最大值,请在 处补上必要的代码: <bfloat max(float,float) ; main() { float a,b,c; scanf(\ c = max (a,b); printf(\
} float max(float x, float y) { float z; _____; return(z) ;
} 参考答案:z = x>y ? X : y 四、阅读题 (请把正确的选项填入试题前的空格中) 第1题:阅读程序,写出运行结果。 参考答案:A #include <stdio.h> void main( ) { float x ; int I , j ; x=10.6 ;
I=4 ; putchar('*'); j=(int)x/I ; } printf(\ printf( \
} }<br
} A)、j=2 B)、j=2.65 C)、j=2.5 D)、j=2.7
第2题:阅读程序,写出运行结果。 A)、SWITCH*Wa B)、SWITCH 参考答案:B #include <stdio.h>
void main( ) { int num[10]={50,-20,-53,10,5,-29,14,-32,0,21}; int j , sum=0 ; for(j=0 ; j<10 ; j++)
if(num[j]>0)
sum+=num[j] ; printf(\ } A)、sum= -134 B)、sum=100 C)、sum= 0 D)、sum= 50
第3题:阅读程序,写出运行结果。 参考答案:A
#include <stdio.h>
void main( ) { char str[ ]= \ALL\ int k ; char c ; for(k=0; (c=str[k]) != '\\0'; k++) { switch(c) { case 'A' : putchar('a'); continue; case '1' : break; case 9 : putchar('#'); case 'E' : case 'L' : continue; default : putchar(c); continue; } C)、SWILTECHWALL D)、SWITCH*
WALL 第4题:阅读程序,写出程序运行的输出结果。 参考答案:B #include <stdio.h> void main( )
{ int I, j ; float a[3][3]={{21,29,13},{12,33,27},{32,8,73}}, b[3][3]; for(I=0; I<3; I++) for(j=0; j<3; j++)
b[j][I]=a[I][j]; for(I=0; I<3; I++) { for(j=0; j<3; j++)
printf(\ printf( \ } } A)、 21 12 32 29 33 8 13 27 73 B)、 21.0 12.0 32.0 29.0 33.0 8.0 13.0 27.0 73.0 C)、 21.0 29.0 13.0 12.0 33.0 27.0
32.0 8.0 } 73.0 D)、 21 29 13 12 33 27 32 8 73 第5题:阅读程序,写出运行结果。 参考答案:C
#include <stdio.h>
int f (int a) { auto int b=0 ; static int c=1 ; b++ ; c+=3 ; return(a+b+c) ; } void main( ) { int a=5 , I ; for(I=0 ; I<3 ; I++)
printf(\ } A)、10 10 10 B)、10 11 12 C)、10 13 16 D)、10 12 14 五、设计题 (请按照题目要求进行答
题,完成之后打包上传) 第1题:求出1000至2000之内能同
时被5、11整除但不能被9整除的数,以十六进制格式输出。
参考答案: #include < stdio.h >
void main() { int j; for(j=1000 ;j<=2000;j++)
{ if(j%5==0 && j==0&& j%9!=0) { printf(\ } } printf(\ 第2题:输入一N位整数,要求输出该整数的每一个数字,如输入14289,则输出1 4 2 8 9。每一个数字间空一空格 参考答案: #include<stdio.h> main() {int num[6],j,number; printf(\输入一个整数:\
scanf(\j=0; do {num[j]=number; number=(int)number/10; j++; }while(number!=0); for(j=5;j>=0;j--) printf(\printf(\ }
第3题:从键盘输入一个正整数,求出它的二进制数。
参考答案: #include < stdio.h > #include<math.h> main()
{int num,i,a[16],y; for(i=0;i<16;i++)
a[i]=0; printf(\请输入一个正整数:\\n\
scanf(\ i=0; while(num!=0) {y=num%2; num=(int)num/2;
a[i]=y; i++;
}
for(i=15;i>=0;i--) printf(\ }