您的当前位置:首页正文

C语言试题

2020-12-05 来源:步旅网
距考试结束剩0分钟

一、 判断(本大题共20道小题,每小题分值1分,共20分。)

第1题、构造类型数据是由基本类型按一定的规律构造而成的。 实得分值:0 参考答案: A试题分析: 回答: 正确

错误

第2题、#define IMB_PC 是Y的宏定义。 实得分值:0 参考答案: A试题分析: 回答: 正确

错误

第3题、#include \" iostream.h \"的作用是将说明标准输入流对象的头文件包含到当前源文件中来。 参考答案: A试题分析: 回答: 正确

错误

第4题、0a12,-0x123,-0xa均是Y的八进制或十六进制数。 实得分值:0 参考答案: B试题分析: 回答: 正确

错误

第5题、C语言把文件看作是一个字符的序列。 实得分值:0 参考答案: A试题分析: 回答: 正确

错误

第6题、C语言程序的书写格式虽然自由,但为了清晰,一般在一行内写一个语句。 实得分值:0 参考答案: A试题分析: 回答: 正确

错误

第7题、c语言的编译系统对宏命令的处理是和c程序中的其他语句同时进行编译的。 实得分值:0 参考答案: B试题分析: 回答: 正确

错误

第8题、C语言中,可以用下面的语句定义变量并赋值。 int a=b=3. 实得分值:0 参考答案: B试题分析: 回答: 正确

错误

第9题、C语言中,用输入输出语句(函数)来输入输出数据。 实得分值:0 参考答案: B试题分析: 回答: 正确

错误

第10题、do-while循环允许从循环体外部跳到循环体内部。 实得分值:0

实得 参考答案: B试题分析: 回答: 正确 错误

第11题、switch,typedef,continue均是C语言关键字。 实得分值:0 参考答案: A试题分析: 回答:正确 错误 第12题、被main函数调用的函数只能是库函数。 实得分值:0 参考答案:B试题分析: 回答: 正确

错误

第13题、表达式 _ya是不合法的C语言标识符。 实得分值:0 参考答案: B试题分析: 回答: 正确

错误

第14题、定义在main函数后的任何函数都需在main中进行函数声明。 实得分值:0 参考答案:B试题分析: 回答: 正确

错误

第15题、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为7。 实得分值:0 参考答案: B试题分析: 回答: 正确

错误

第16题、结构体的成员可以作为变量使用。 实得分值:0 参考答案: B试题分析: 回答: 正确

错误

第17题、逻辑表达式 'C'&&'d' 的值为 1. 实得分值:0 参考答案: A试题分析: 回答: 正确

错误

第18题、如果被调用函数的定义出现在主调函数之前,可以不必加以声明。 实得分值:0 参考答案: A试题分析: 回答: 正确

错误

第19题、若a为一维数组名,则*(a+i)与a[i]等价 实得分值:0 参考答案: A试题分析: 回答: 正确

错误

第20题、若变量a和x均为double类型,则代数式x^2-e^5转化为Y的c语言表达式为:x*x-exp(5)。 参考答案: A试题分析: 回答: 正确

错误

二、单选(本大题共20道小题,每小题分值1分,共20分。) 第21题、经下列语句定义后,sizeof(x

sizeof(a),sizeof(b)在微机上的值分别为()。 char x=65; float y=7.3; int a=100; doub实得分值:0

A、2,2,2,4 B、1,2,2,4 C、1,4,2,8 D、2,4,2,8 参考答案: C试题分析: 回答: A

B

C

D

第22题、以下标识符中,不能作为合法的C用户定义标识符的是()。 实得分值:0

A、putchar B、double C、_123 D、INT 参考答案: A试题分析: 回答: A

B

C

D

第23题、以下叙述正确的是()。 实得分值:0 A、do-while语句构成的循环不能用其它语句构成的循环来代替. B、do-while语句构成的循环只能用break语句退出.

C、用do-while语句构成的循环,在while后的表达式为非零时结束循环

D、用do-while语句构成的循环,在while后的表达式为零时结束循环

参考答案: D试题分析: 回答: A

B

C

D

第24题、以下对C语言函数的描述中,正确的是()。 实得分值:0 A、C程序必须由一个或一个以上的函数组成 B、C函数既可以嵌套定义又可以递归调用 C、函数必须有返回值,否则不能使用函数

D、C程序中有调用关系的所有函数必须放在同一个程序文件中

参考答案: A试题分析: 回答: A

B

C

D

第25题、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()。 实得分值:0 A、自动(auto) B、:静态(static) C、外部(extern)

D、寄存器(register)

参考答案: A试题分析: 回答: A

B

C

D

第26题、设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型为()。 A、float B、char C、int D、double 参考答案: D试题分析: 回答: A

B

C

D

实得 第27题、以下语句中,不能实现回车换行的是()。 实得分值:0

A、printf(\"\\n\"); B、putchar(\"\\n\"); C、fprintf(stdout,\"\\n\"); D、fwrite(\"\\n\参考答案: B试题分析: 回答: A

B

C

D

第28题、若有说明:int a[3][4];则数组a中各元素()。 实得分值:0

A、可在程序的运行阶段得到初值0 B、可在程序的编译阶段得到初值0 C、不能得到确定的初值

D、可在程序的编译或运行阶段得到初值0

B

C

D

参考答案: D试题分析: 回答: A

第29题、已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为()。 char a='a'; printf(\"%d,%c\\n\实得分值:0

A、b,c

B、a--运算不合法,故有语法错 C、98,c

D、格式描述和输出项不匹配,输出无定值

B

C

D

参考答案: C试题分析: 回答: A

第30题、若有定义:char *p1,*p2,*p3,*p4,ch; 则不能正确赋值的程序语句为()。 实得分值:0

A、p1=&ch; scanf(\"%c\

B、p2=(char *)malloc(1);scanf(\"%c\ C、*p3=getchar();

D、p4=&ch;*p4=getchar();

B

C

D

参考答案: C试题分析: 回答: A

第31题、下列程序的输出结果是()。 main() {int a=7,b=5; printf(\"%d\\n\实得分值 A、0 B、5 C、1 D、不确定值 参考答案: A试题分析: 回答: A

B

C

D

第32题、C 语言中以下几种运算符的优先次序()的排列是正确的。 实得分值:0

A、由高到低为:!,&&,||,算术运算符,赋值运算符

B、由高到低为:!,算术运算符,关系运算符,&&,||,赋值运算符 C、由高到低为:算术运算符,关系运算符,赋值运算符,!,&&,|| D、由高到低为:算术运算符,关系运算符,!,&&,||,赋值运算符

参考答案: B试题分析 回答: A B C D

第33题、以下程序段的输出结果是()。 char *alp[]={\"ABC\int j; puts(alp[1]) A、A B、B C、D D、DEF 参考答案: D试题分析: 回答: A

B

C

D

第34题、C语言中运算对象必须是整型的运算符是()。 实得分值:0 A、%= B、/ C、= D、〈= 参考答案: A试题分析: 回答: A

B

C

D

第35题、若以\"a+\"方式打开一个已存在的文件,则以下叙述正确的是()。 实得分值:0

A、文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作 B、文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作 C、文件打开时,原有文件内容被删除,只可作写操作 D、以上各种说法皆不正确

B

C

D

参考答案: A试题分析: 回答: A

第36题、以下字符中不是转义字符的是()。 实得分值:0 A、\\a' B、\\b' C、\\c' D、'\\\\' 参考答案: C试题分析: 回答: A

B

C

D

第37题、在C语言中,函数的隐含存储类别是()。 实得分值:0 A、auto B、static C、extern D、无存储类别 参考答案: C试题分析: 回答: A

B

C

D

第38题、利用 fseek 函数可以实现的操作是()。 实得分值:0

A、改变文件的位置指针 B、文件的顺序读写 C、文件的随机读写 D、以上答案均正确

B

C

D

参考答案: D试题分析: 回答: A

第39题、C程序中的宏展开是在()。 实得分值:0 A、编译时进行的

B、程序执行时进行的

C、:编译前预处理时进行的

D、编辑时进行的

参考答案: C试题分析: 回答: A

B

C

D

第40题、下列字符序列中,可用作C标识符的一组字符序列是()。 实得分值:0

A、S.b,sum,average,_above B、class,day,lotus_1,2day C、#md,&12x,month,student_n! D、D56,r_1_2,name,_st_1

B

C

D

参考答案: D试题分析: 回答: A

三、填空题(本大题共10道小题,每小题分值1分,共10分。)

第41题、一个C程序的执行是从______函数开始 参考答案: main 回答: 第42题、C++语言属于______

参考答案:面向对象语言 回答: 第43题、C语言的字符集就是( )字符集。 ' A ' 的ASCII 值是( )。 参考答案: ASCII、65 回答: 第44题、sizeof(float)是________ 实得分值:0 参考答案:一个整型表达式 回答: 第45题、结构化程序设计方法主要原则包括自顶向下、逐步求精、_____。 参考答案:模块化 回答: 第46题、结构化设计中的三种基本结构是顺序结构、( )和循环结构。 参考答案:分支结构 回答: 第47题、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾这种现象称做_____ 参考答案:软件危机 回答: 第48题、x为double型,则执行x=3.2,++x;语句后,该表达式的值是( )。 参考答案:4.000000 回答: 第49题、若在程序中用到 \" strlen() \" 函数时,应在程序开头写上包含命令___________。 参考答案: #include 回答: 第50题、设int[2] [3]={2},{3};则数组元素_____的值为3。 参考答案: a[1][0] 回答: 四、程填空_1(本大题共10道小题,每小题分值3分,共30分。)

第51题、以下程序借助变量t把变量a,b,c中的值进行交换,请把程序补充完整。 _____

void main() {int a,b,c,t;

scanf(\"%d%d%d\_____; a=b; b=c; ______;

printf(\"%d,%d,%d\}

参考答案: #include、t=a、c=t 回答: 第52题、用递归算法实现:输入任意一个整数,在各数位间插入空格后输出。 #include void main() {long int n; void func(long); scanf(\"%ld\_________; }

void func(_________) {if (m>=10) _________;

printf(\" %d\}

参考答案: func(n)、long m、fun(m/10) 回答: 第53题、以下程序实现1到100的连加并输出计算结果。 #include void main() {int i,sum=0; _________; do

{sum=sum+i; i++;

}

while(_________;)

printf(\"%d\\n\_________); }

参考答案: i=1、i<=100、sum 回答: 第54题、以下程序的功能是计算100到1000之间有多少个数其各位数字之和是5。 #include void main()

{int i,s,k,count=0; for(i=100;i<1000;i++) {s=0; k=i;

while(_________) {s=s+k%10; k=_________; }

if(s!=5) _________; else count++; }

printf(\"%d\\n\}

参考答案: k!=0、k/10、continue 回答: 第55题、下面程序的功能是统计文本data.txt中各种大写字母的个数,将统计结果存放在数组count中,个数存入count[0]中,字母'B'的个数存入count[1]中……依次类推),输出统计结果,一行输出5个。 #include #include void main() {FILE *fp;

static int count[26]={0}; int i; char ch;

if(_________)

{printf(\"can not open the file!\\n\"); exit(0); }

while(!feof(fp))

{_________;

if(ch>='A'&&ch<='Z') count[_________]++; }

for(i=0;i<26;i++)

{if(i%5==0) printf(\"\\n\");

printf(\"count[%d]=%-5d\}

fclose(fp); }

参考答案: (fp=fopen(\"data.txt\、ch=fgetc(fp)、ch-'A' 回答:

第56题、请补全main函数,该函数的功能是:从键盘上输入3个整数,然后找出最大的数并输出。 main()

{int a,b,c,max; clrscr();

printf(\"\\nInput three numbers:\\n\"); scanf(\"%d,%d,%d\

printf(\"Thethree numbers are:%d,%d,%d\\n\ if (a>b) _________; else

_________; if(maxprintf(\"max=%d\\n\ }

参考答案: a、b、c 回答:

第57题、请补全fun函数,该函数的功能是把从键盘输入的3个整数按从小到大输出。 main()

{int x,y,z,t; clrscr();

printf(\"Input x,y,z\\n\"); scanf(\"%d%d%d\ if (_________) { t=x; x=y; y=t;

} /*交换x,y的值*/ if(_________) {

t=z; z=x; x=t;

} /*交换x,z的值*/ if(_________) { t=y; y=z; z=t;

} /*交换z,y的值*/

参考答案: x>y、x>z、y>z 回答: 第58题、请补充该fun函数,该函数的功能是:交换数组aa中最大和最小两个元素的位置,结果重新保存其它元素位置不变。注意数组aa中没有相同元素。 void fun(int aa[]) {int i,j,t;

int max=0,min=0; for(i=0;iif(_________) max=i;

if(_________) min=i; }

t=aa[max]; _________; aa[min]=t; }

参考答案: aa[max]、aa[min]>aa[i]、aa[max]=aa[min] 回答: 第59题、已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体中,给定程序的功能是找的学生记录,通过形参返回主函数。 typedef struct ss

{char num[10]; int s; } STU; fun(STU a[], STU *s) {_________ h; int i ; h = a[0];

for ( i = 1; i < N; i++ )

if ( a[i].s < h.s ) _________ = a[i];

*s = _________; }

参考答案: STU、h、h 回答:

第60题、请补全main函数,该函数的功能是:输出方程A+B=52,A+2B=60的一组正整数解, main()

{int i,j,k; clrscr();

for(_________;i<100;i++) for(j=0;j<100;j++) if(_________)

printf(\"A=-,B=-\ _________); }

参考答案: i=0、i+j==52&&i+2*j==60、j 回答: 五、读程填空(本大题共5道小题,每小题分值4分,共20分。)

第61题、以下程序的输出结果是__________ 。 #define f(x) x*x main()

{int a=6,b=2,c; c=f(a)/f(b);

printf(\"%d\\n\ }

参考答案: 36 回答: 第62题、设有如下定义: int x=10,y=3,z;

则语句printf(\"%d\\n\的输出结果是__________ 。

参考答案: 3 回答: 第63题、定义如下变量和数组:int i; int x[3][3]={1,2,3,4,5,6,7,8,9};int su=0;

则语句for(i=0;i<3;i++) su=su+ x[i][2-i];printf(\"%d \的输出结果是__________ 。

参考答案: 15 回答: 第64题、下面程序输出为: 。

#include void main() {

int a=2,b=3;

float c=5.0,d=2.5;

printf(\"%f\}

参考答案: 4.000000 回答: 第65题、下面程序输出为: #include void main() {

int sum=10,cap=10; cap=sum++,cap++,++cap; printf(\"%d\\n\}

参考答案: 12试题分析:

。 回答:

因篇幅问题不能全部显示,请点此查看更多更全内容