C语言试卷第5套 含答案

更新时间:2024-05-08 13:02:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第五套

一、判断题

第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(\ }

本文来源:https://www.bwwdw.com/article/dvwg.html

Top