C语言上机题库(8)

2019-04-13 22:40

/**********FOUND**********/ for(i=1;i<=20;i++) {

f3=f1+f2;

/**********FOUND**********/ f2=f1;

/**********FOUND**********/ f3=f2;

printf(\ }

printf(\}

void main() { void fun(); fun(); } 答案:

=======(答案1)======= printf(\=========或========= printf(\

=========或========= printf(\

=======(答案2)======= for(i=1;i<20;i++)

=========或========= for(i=1;20>i;i++)

=========或========= for(i=2;i<=20;i++) =========或========= for(i=2;20>=i;i++)

=========或========= for(i=1;i<=19;i++) =========或========= for(i=1;19>=i;i++)

=======(答案3)======= f1=f2;

=======(答案4)======= f2=f3;

━━━━━━━━━━━━━━━━ 五、程序设计 共1题 (共计20分) ━━━━━━━━━━━━━━━━

第1题 (20.0分) 题号:319 /*------------------------------------------------ 【程序设计】

--------------------------------------------------

功能:编写函数判断m是否为素数。在main函数中输出了100到200之间所有的素数。

------------------------------------------------*/

#include \void wwjt();

int fun(int m) {

/**********Program**********/

/********** End **********/ }

void main() { int fun(int m); int m,k=0;

for(m=100;m<200;m++) if(fun(m)) {

printf(\ k++; if(k%5==0) printf(\ }

printf(\ wwjt(); }

void wwjt() {

FILE *IN,*OUT; int iIN,iOUT,i; IN=fopen(\ if(IN==NULL) {

printf(\Verify The Currernt Dir..It May Be Changed\ }

OUT=fopen(\ if(OUT==NULL)

{

printf(\Verify The Current Dir.. It May Be Changed\ }

for(i=0;i<10;i++) {

fscanf(IN,\ iOUT=fun(iIN);

fprintf(OUT,\ } fclose(IN); fclose(OUT); }

答案:---------------------- int i,k=1;

if(m<=1) k=0; for(i=2;i

十三

━━━━━━━━━━━━━━━ 一、判断 共10题 (共计20分) ━━━━━━━━━━━━━━━

第1题 (2.0分) 题号:27

char c[]=\Good\是一个合法的为字符串数组赋值的语句。 答案:Y

第2题 (2.0分) 题号:1240 链表中有的结点可以没有指针域. 答案:N

第3题 (2.0分) 题号:1145

链表是结构体最重要的应用,它是一种非固定长度的数据结构,是一种动态存储技术. 答案:Y

第4题 (2.0分) 题号:1138

语句char a[4]=\与char a[]=\等价. 答案:N

第5题 (2.0分) 题号:1102

在C程序中 , 函数既可以嵌套定义 , 也可以嵌套调用 答案:N

第6题 (2.0分) 题号:1235 可以使用变量定义数组的长度. 答案:N

第7题 (2.0分) 题号:1228

continue和break语句都能用于switch语句中.

答案:N

第8题 (2.0分) 题号:1281

在循环控制中,可以用continue语句跳出本次循环. 答案:Y

第9题 (2.0分) 题号:1143

在给变量命名时,C语言不区分大小写字母,即认为SUM和sum是同一个变量. 答案:N

第10题 (2.0分) 题号:1268 逻辑运算的三种运算符&&,||,!优先级相同 答案:N

━━━━━━━━━━━━━━━━━ 二、单项选择 共15题 (共计30分) ━━━━━━━━━━━━━━━━━

第1题 (2.0分) 题号:200 下面关于指针的叙述,正确的是( ). A:指针和地址是两个性质不同的概念 B:指针是对结构体变量来定义的 C:指针可以指向任何数据类型的变量 D:指针变量可以初始化 答案:D

第2题 (2.0分) 题号:159

执行下面程序段从键盘给变量a,b,c输入值,正确的输入格式为( ). int a,c; char b;

scanf(\

A:123,d,45 B:123 d 45 C:123d45 D:a=123b=dc=45 答案:C

第3题 (2.0分) 题号:131

若k为int型变量,则以下程序段的执行结果是()。

k=-8567; printf(\A:格式描述符不合法,输出无定值 B:输出为|D| C:输出为|0-8567| D:输出为|-8567| 答案:B

第4题 (2.0分) 题号:174

C语言程序中,若对函数类型未加显式说明,则函数的隐含说明类型为()。 A:void B:double C:int D:char 答案:C

第5题 (2.0分) 题号:630

逻辑运算符两侧运算对象的数据类型()。 A:只能是0或1 B:只能是0或非0正数 C:只能是整型或字符型数据 D:可以是任何类型的数据

答案:D

第6题 (2.0分) 题号:153

能正确表示数学不等式0≤a≤18的C语言表达式是( ). A:a>=0&a<=18 B:a>=0||a<=18 C:a>=0&&a<=18 D:0≤a&&a≤18 答案:C

第7题 (2.0分) 题号:165

关于多路分支语句switch,下面说法不正确的是( ).

A:switch语句不能嵌套

B:switch语句中可以出现多个空的case子句 C:凡是能用switch语句实现的分支控制都可以用if语句实现

D:一般情况下,当有多路分支时使用switch语句比使用if语句方便 答案:A

第8题 (2.0分) 题号:114 下列数据中,为字符串常量的是()。 A:A B:\C:How do you do. D:$abc 答案:B

第9题 (2.0分) 题号:516

char str[10]=\数组元素个数为()。 A:5 B:6 C:9 D:10 答案:D

第10题 (2.0分) 题号:173 C语言执行程序的开始执行点是()。 A:程序中第一条可以执行语言 B:程序中第一个函数 C:程序中的main函数 D:包含文件中的第一个函数 答案:C

第11题 (2.0分) 题号:3563 以下函数的类型是______。 fff(float x) { return 5; }

A:与参数x的类型相同 B:void 类型 C:int类型 D:无法确定 答案:C

第12题 (2.0分) 题号:100

以下标识符中,不能作为合法的C用户定义标

识符的是()。 A:putchar B:_double C:_123 D:INT 答案:A

第13题 (2.0分) 题号:577

在C语言中,int、char和short三种类型数据在内存中所占用的字节数()。 A:由用用户自己定义 B:均为2个字节 C:是任意的

D:由所用机器的机器字长决定 答案:D

第14题 (2.0分) 题号:130

在一个完整的C语言程序中,不能缺少的函数是( ). A:scanf() B:getchar() C:fopen() D:main() 答案:D

第15题 (2.0分) 题号:170

关于return语句,下列正确的说法是()。 A:在主函数和其他函数中均可出现 B:必须在每个函数中出现 C:可以在同一个函数中出现多次

D:只能在除主函数之外的函数中出现一次

答案:C

━━━━━━━━━━━━━━━━ 三、程序填空 共1题 (共计15分) ━━━━━━━━━━━━━━━━

第1题 (15.0分) 题号:8

/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:以每行5个数来输出300以内能被7或17整除的偶数,并求出 其和。

-------------------------------------------------------*/

#include #include void main() {

int i,n,sum; sum=0;

/***********SPACE***********/ 【?】;

/***********SPACE***********/ for(i=1; 【?】 ;i++)

/***********SPACE***********/ if(【?】) if(i%2==0) {

sum=sum+i; n++;

printf(\

/***********SPACE***********/ if(【?】) printf(\ }

printf(\} 答案:

=======(答案1)======= n=0

=======(答案2)======= i<=300

=========或========= i<300

=========或========= 300>=i

=========或========= 300>i

=======(答案3)======= i%7 == 0 || i == 0 =========或========= !(i%7)||!(i)

=========或========= !(i)||!(i%7)

=========或========= !(i%7&&i)

=======(答案4)======= n%5 == 0

=========或========= !(n%5)

=========或========= n/5*5==n

━━━━━━━━━━━━━━━━ 四、程序改错 共1题 (共计15分) ━━━━━━━━━━━━━━━━

第1题 (15.0分) 题号:415

/*------------------------------------------------------ 【程序改错】

--------------------------------------------------------

功能:利用递归方法求5!。

------------------------------------------------------*/

#include void main() {

int fact(int);

printf(\}

int fact(int j) { int sum;

/**********FOUND**********/ if(j=0)

/**********FOUND**********/ sum=0; else

sum=j*fact(j-1);

/**********FOUND**********/

return j; } 答案:

=======(答案1)======= if(j==0)

=======(答案2)======= sum=1;

=======(答案3)======= return sum;

━━━━━━━━━━━━━━━━ 五、程序设计 共1题 (共计20分) ━━━━━━━━━━━━━━━━

第1题 (20.0分) 题号:360 /*------------------------------------------------ 【程序设计】

--------------------------------------------------

功能:把20个随机数存入一个数组,然后输出该数组中的 最大值。

------------------------------------------------*/

#include #define VSIZE 20 void wwjt();

int vector[VSIZE] ;

int fun(int list[],int size) {

/**********Program**********/

/********** End **********/ } main() { int i;

for (i=0;i

vector[i]=rand();

printf(\ }

i=fun(vector,VSIZE); printf(\

Vector[%d]=m\\n\ wwjt(); }

void wwjt() { int i,t;

FILE *fp ;

fp = fopen(\ for (i=0;i

fprintf(fp,\ }

t=fun(vector,VSIZE); fprintf(fp,\Vector[%d]=m\\n\ fclose(fp) ; }

答案:---------------------- int i,max=0; for(i=1; i

十四

━━━━━━━━━━━━━━━ 一、判断 共10题 (共计20分) ━━━━━━━━━━━━━━━

第1题 (2.0分) 题号:36

若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。 答案:N

第2题 (2.0分) 题号:1094

设有数组定义: char array [ ]=\则数组array所占的空间为5. 答案:N

第3题 (2.0分) 题号:28

如果函数值的类型和return语句中表达式的值不一致,则以 函数类型为准。 答案:Y

第4题 (2.0分) 题号:1108 有

:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是 *(P+8). 答案:Y

第5题 (2.0分) 题号:1279

循环结构while、do while、for不可以互相嵌套. 答案:N

第6题 (2.0分) 题号:1262

如有定义:char c[]=\则数组c的长度为8.

答案:Y

第7题 (2.0分) 题号:1280

C语言程序中用到的所有变量必须在使用之前进行定义. 答案:Y

第8题 (2.0分) 题号:1229

函数嵌套就是在定义函数的函数体中调用被定义的函数本身. 答案:N

第9题 (2.0分) 题号:1258

如果函数的类型没有定义,则这个函数的类型是void. 答案:N

第10题 (2.0分) 题号:1255

若定义了一维数组a,则下标为i的元素值可以用*(a+i)或a[i]来计算. 答案:Y

━━━━━━━━━━━━━━━━━ 二、单项选择 共15题 (共计30分) ━━━━━━━━━━━━━━━━━

第1题 (2.0分) 题号:113

执行下列语句后变量x和y的值是()。 y=10;x=y++; A:x=10,y=10 B:x=11,y=11 C:x=10,y=11 D:x=11,y=10

答案:C

第2题 (2.0分) 题号:167 下列语句中,不正确的是()。 A:char a[2]={1,2}; B:int a[2]={'1','2'}; C:char a[2]={'1','2','3'}; D:char a[2]={'1'}; 答案:C

第3题 (2.0分) 题号:187

经过下列的语句 int j,a[10],*p;定义后,下列语句中合法的是()。 A:p=p+2; B:p=a[5]; C:p=a[2]+2; D:p=&(j+2); 答案:A

第4题 (2.0分) 题号:100

以下标识符中,不能作为合法的C用户定义标识符的是()。 A:putchar B:_double C:_123 D:INT 答案:A

第5题 (2.0分) 题号:663

以下不正确的说法是:C语言规定()。 A:实参可以是常量,变量或表达式

B:形参可以是常量,变量或表达式 C:实参可以为任何类型

D:形参应与其对应的实参类型一致 答案:B

第6题 (2.0分) 题号:139 定义双精度实型变量应使用( ). A:long int B:float C:char D:double 答案:D

第7题 (2.0分) 题号:3130 下列说法中错误的是

A:一个数组只允许存储同种类型的变量 B:如果在对数组进行初始化时,给定的数据元素个数比数组元素个数少时,多余的数组元素会被自动初始化为最后一个给定元素的值 C:数组的名称其实是数组在内存中的首地址 D:当数组名作为参数被传递给某个函数时,原数组中的元素的值可能被修改 答案:B

第8题 (2.0分) 题号:565 以下叙述中正确的是()。

A:C语言的源程序不必通过编译就可以直接运行

B:C语言中的每条可执行语句最终都将被转换成二进制的机器指令

C:C源程序经编译形成的二进制代码可以直接


C语言上机题库(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:施工技术交底

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: