C语言笔试模拟题(6)

合集下载

C语言模拟笔试题附答案

C语言模拟笔试题附答案

C语言模拟笔试题附答案C语言模拟笔试题(附答案)以下是店铺为您准备的C语言模拟笔试题,希望对您有所帮助!更多内容请关注店铺!1.编写函数fun(char*str),找出字符串str中ASCII值最大的字符。

主程序调用函数fun()求字符串中的最大字符并输出。

主程序如下:void main(){ char source[1024];4.一小球从一百米的高度自由落下,每次落地后反跳回原来的一半,再落下。

计算小球在第十次落地时,共经过多少米?第十次反弹多高?printf(“请输入一行英文字符串:\n”);gets(source);printf(“最大的字母是:%c”,fun(source));}char fun(char*str){ }2.写出下面程序的`输出结果:main(){ int h,j,k;5.编写函数fact(int n),计算n!编写函数sum(int n),调用函数fact(),计算:1!+2!+3!+……+n!。

编写主程序 main(),调用sum()函数计算:1!+2!+3!+……+n!。

for(h=0;h<=3;h++){ for(j=0;j<=2-h;j++) printf(" ");for(k=0;k<=2*h;k++) printf("*");printf("\n");}for(h=0;h<=2;h++){ for(j=0;j<=h;j++) printf(" ");for(k=0;k<=4-2*h;k++) printf("*");printf("\n");}}6.小张,小李,小王,小刘共买苹果144个。

其中,小张买的苹果比小李多10个,比小王多26个,比小六多32个。

问小张买了多少个苹果?()A. 73B. 63C. 53D. 43E. 273. 写出下面程序的输出结果:void main(){ int s=0,k;for(k=7;k>=0;k–){switch(k){case 1:case 4:case 7:s++;break;case 2:case 3:case 6:break;case 0:case 5:s+=2;break;}}printf(“s=%d”,s);}下载全文。

浙江大学C语言程序设计理论考试模拟试题答案

浙江大学C语言程序设计理论考试模拟试题答案

浙江大学C语言理论考试模拟试题答案一、判断题共10题,每题1分,共10分。

正确的请选择A,错误的请选择B。

1、在C语言中,函数不可以嵌套定义,但函数可以嵌套调用。

AA、正确B、错误解答:A2、在程序中else 子句可以单独使用。

BA、正确B、错误解答:B3、C 语言源程序文件通过了编译、连接之后, 生成一个后缀为.EXE 的文件。

( ) AA、正确B、错误解答:A4、_ya是不合法的C语言标识符。

BA、正确B、错误解答:B5、在数组初始化时,如果初值个数多于数组长度,将出现错误。

AA、正确B、错误解答:A6、C语言规定,函数返回值的类型是由return语句中的表达式类型所决定。

BA、正确B、错误解答:B7、若有定义int *p, 则表达式p++ 的值就是p 所指向的变量的地址值加1。

BA、正确B、错误解答:B8、'\n'不是一个字符常量。

BA、正确B、错误解答:B9、表达式(z=0, (x=2)||(z=1),z) 的值是1。

BA、正确B、错误解答:B10、若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清空。

A、正确B、错误二、单选题请从给定的选项中选择一个唯一正确的选项。

每小题2分,共10题,20分。

1、 C下面有关变量的命名,不合法的是:( )A. _intB. __intintC. __int&intD. ___intintintC解答:C2、有变量定义int a;float c;下面输入语句有语法错误的是( )。

A. scanf("%d,%f", &a, &c);B. scanf("x=%d, c=%f", &a, &c);C. scanf("%d%f", &a, &c);D. scanf("%f %d",&a, &c);D解答:D3、下面关于函数参数使用的说法,不正确的是:()A. 函数调用时实参按顺序传递到形参;B. 函数调用时实参把值传递给形参;C. 函数的实参和形参个数可以不一致,但使用时应尽量一致;D. 函数的实参和形参可以同名;C解答:C4、已知int k=1; for(k=1;1;k++) if(k) break; for语句的循环次数是( )。

c语言笔试模拟题以及答案

c语言笔试模拟题以及答案

1.一、单选题:(每题1.5分,共60分)1、 C语言程序的基本单位是_______.A. 语句B. 函数C. 程序行D. 字符答案: B2、 C语言程序由( )组成A. 子程序B. 过程C. 函数D. 主程序段程序答案: C3、算法的表示方法有________。

A. 自然语言,传统流程图,N-S流程图,伪代码,计算机语言B. 高级语言,汇编语言,机器语言C. C语言,QBASIC语言,InterDevD. 图形图像法,描述法,编程法E. 计算机语言答案: A4、以下程序的输出结果是main( ){ int k=17;printf(“%d,%o,%x \n”,k,k,k);}A. 17,021,0×11B. 17,17,17C. 17,0×11,021D. 17,21,11答案: D5、下列变量定义中合法的是A. short _a=1-.le-1;B. double b=1+5e2.5;C. long do=0xfdaL;D. float 2_and=1-e-3;答案: A6、 C语言中合法的字符常量是____A. ‘\084′B. ‘\X43′C. ‘ab’D. “\0″答案: B7、下面说法中正确的是( )A. int型和long型运算先将int型转换成unsigned型,再转换B. 两个float型运算结果为double型C. 只要表达式中存在double型,所有其他类型数据都必须转D. 表达式中的类型转换与运算顺序有关答案: C8、以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值答案: D9、设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是A. n=(n*100+0.5)/100.0B. m=n*100+0.5,n=m/100.0C. n=n*100+0.5/100.0D. n=(n/100+0.5)*100.0答案: B10、下列运算符中优先级最高的是A. <B. +C. &&D. !=答案: B11、若变量已正确定义并赋值,下面符合C语言语法的表达式是A. a:=b+1B. a=b=c+2C. int 18.5%3D. a=a+7:c+b答案: B12、设CH是字符型变量,其值为’A',下列表达式的值是CH=(CH > =’A'&&CH < =’Z')?(CH+32):CHA. AB. aC. zD. Z答案: B13、表达式18/4*sqrt(4.0)/8值的数据类型为A. intB. floatC. doubleD. 不确定答案: C14、在C语言中,要求运算数必须是整型的运算符是A. /B. %C. !D. >答案: B15、以下说法中正确的是A. #define和printf都是C语句B. #define是C语句,而printf不是C. printf是C语句,但#define不是D. #define和printf都不是C语句答案: D16、下面程序的输出是main(){int a=-1,b=4,k;k=(a++<=0)&&(!(b–<=0));printf(“%d%d%d%\n”,k,a,b);}A. 0 0 3B. 0 1 2C. 1 0 3D. 1 1 2答案: C17、设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行 (m=a > b)&&(n=c > d)后n的值是A. 1B. 2C. 3D. 4答案: B18、若有条件表达式 (exp)?a++:b–,则以下表达式中能完全等价于表达式(exp)的是A. (exp==0B. (exp!=0)C. (exp==1)D. (exp!=1)答案: B19、为表示关系X≥Y≥Z应使用C语言表达式:__A. (X > =Y)&&(Y > =Z)B. (X > =Y)and(Y > =Z)C. (X≥ Y≥ Z)D. (X≥ Y)&(Y≥ Z)答案: A20、能正确表示逻辑关系:”a ≥ =10或a ≤ 0″的C语言表达式是A. a > =10 or a< =0B. a > =0||a < =10C. a > =10 && a < =0D. a < =0 || a>=10答案: D21、下面的程序是______main(){ int x=3,y=0,z=0;if (x==y+z) printf(“****”);else printf(“####”);}A. 有语法错误不能过通过编译B. 输出****C. 可能通过编译,但是不能通过连接,因而不能运行D. 输出####答案: D22、执行下面语句后的输出为( )int i= -1;if (i < =0)printf(“****\n”)else printf(“%%%%\n”)A. ****B. %%%%C. %%%%CD. 有语法错,不能执行答案: D23、若运行以下程序时,从键盘输入 ADescriptor < CR > ( < CR > 表示回车),则下面程序的运行结果是#include <stdio.h>main(){char c;int v0=0,v1=0,v2=0;do{switch(c=getchar()){case ‘a’:case ‘A’:case ‘e’:case ‘E’:case ‘i’:case ‘I’:case ‘o’:case ‘O’:case ‘u’:case ‘U’:v1+=1;default:v0+=1;v2+=1;}}while(c!=’\n’);printf(“v0=%d,v1=%d,v2=%d\n”,v0,v1,v2);}A. v0=7,v1=4,v2=7B. v0=8,v1=4,v2=8C. v0=11,v1=4,v2=11D. v0=12,v1=4,v2=12答案: D24、以下程序的输出结果是main( ){ int n=4;while(n–)printf(“%d “,–n);}A. 2 0B. 3 1C. 3 2 1D. 2 1 0答案: A25、有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。

c语言模拟考试试题及答案

c语言模拟考试试题及答案

c语言模拟考试试题及答案C语言模拟考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable#name答案:B2. 下列哪个选项是C语言中的关键字?A. charB. variableC. ifD. string答案:C3. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C4. 在C语言中,以下哪个语句用于定义一个整型变量?A. int var;B. float var;C. double var;D. char var;答案:A5. 下列哪个选项是C语言中的控制结构?A. switch-caseB. if-elseC. for-loopD. All of the above答案:D6. 在C语言中,哪个函数用于计算两个数的和?A. pow()B. sqrt()C. sum()D. None of the above答案:D(注:C语言标准库中没有sum()函数)7. 以下哪个选项是C语言中数组的正确声明方式?A. int array[10] = {1, 2, 3};B. int [10] array = {1, 2, 3};C. Both A and BD. None of the above答案:C8. 在C语言中,哪个函数用于将整数转换为字符串?A. itoa()B. atoi()C. printf()D. sprintf()答案:A9. 下列哪个选项是C语言中正确的函数定义?A. int function(int a, int b) { ... }B. int function(int a; int b) { ... }C. int function(int a, int b) { ... }D. int function(int a, b) { ... }答案:C10. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. methodD. void答案:D二、填空题(每空2分,共20分)11. 在C语言中,使用____关键字可以定义一个函数。

C语言模拟题目及答案

C语言模拟题目及答案

:题.选择一1.设float x,y;则以下不合法的赋值语句是______。

x*=y+8; x=y=0; ++x; y=(x%2)/10;2. 设int k=017,g=111; 执行语句printf(%d,%x,k,g); 的输出是_____。

15,6f f,6f f,111 15,111 3. 对语句for(i=0; ; i++);可理解为_____。

for(i=0;0;i++); for(i=0;!0;i++); for(i=0;3>4;i++); for(i=0;!5;i++);4. 下面对数组的初始化,错误的是_____。

char s[5]=abc; chars[5]={'a','b','c'};char s[5]= ; char s[5];s=abc;5. 设有程序段:int k=10;while(k=0)k=k-1;则下面描述中正确的是______。

是无限循环 while循环执行10次循环体语句一次也不执行循环体语句只执行一次6. 如果x为int型且为5,则执行if(x--<5) printf(%d,x);elseprintf(%d,x++);后输出结果是______。

3 4 5 6 7. 有如下函数调用语句func(rec1, rec2+rec3, (rec4, rec5));,该函数调用语句中,含有的实参个数是____。

3 4 5 有语法错8. 在C语言的if语句中,可用作条件判断的表达式为_____。

算术表达式逻辑表达式关系表达式任意表达式9. 若给定条件表达式(n)?(c++):(c--),则与表达式中(n)等价的表达式是_____。

n==0 n==1 n!=0 n!=1 10. 一个函数返回值的类型取决于_____。

调用该函数的主调函数的类型定义函数时指定或缺省的函数类型调用函数时临时决定return语句中表达式的类型答案:D A B D CB A DC B二.填空题:1.如果static int y=8;main(){ int y=3;printf(%d, y);}则输出结果是______。

C语言模拟试卷及答案

C语言模拟试卷及答案

C语言程序设计模拟试题一、单项选择题(请把答案填在每个题的括号内,每小题2分,共30分)1.对于一个正常运行的C程序,以下叙述中正确的是()A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序的最后一个函数中结束D)程序的执行总是从程序中的第一个函数开始,程序的最后一个函数中结束2.设变量均已正确定义,若要通过scanf("%d%c,%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符'X'和'Y'。

以下所示的输入形式中正确的是()(注:口代表空格字符)A)10X,20Y<回车>B)10口X20口Y<回车>C)10口X<回车>20口Y<回车>D)10X<回车>20Y<回车>3.以下定义语句中正确的是()A)char a='A'b='B';B)float a=b=10.0;C)int a=10,*b=&a;D)float*a,b=&a;4.下列选项中,不能用作标识符的是()A)_main B)a1C)int_2_D)2_int_5.下列选项中,合法的C语言关键字是()A)VAR B)cher C)integer D)default6.为表示关系z≥y≥x,应使用C语言表达式()A)(z>=y>=x)B)(z>=y)AND(y>=x)C)(z>=y)&&(y>=x)D)(z>=y)&(y>=x)7.有以下程序段:int k=0,a=1,b=2;k=a<b?b:a;执行该程序段后,k的值是()A)3B)2C)1D)08.C语言中用于结构化程序设计的三种基本结构是()A)if、switch、break B)顺序结构、选择结构、循环结构C)for、while、do-while D)break、for、continue9.若int i;则语句:for(i=2;i==0;)printf("%d",i--);的循环执行次数是()A)无限次B)0次C)1次D)2次10.在循环结构的循环体中执行break语句,其作用是()A)结束本次循环,进行下次循环B)继续执行break语句之后的循环体中各语句C)跳出该循环体,提前结束循环D)终止程序运行11.已定义int a[10],i;以下能正确为a数组元素进行赋值的语句是()A)for(i=0;i<10;i++)scanf("%d",a[i]);B)for(i=0;i<=10;i++)scanf("%d",a[i]);C)for(i=0;i<10;i++)scanf("%d",&a[i]);D)for(i=1;i<=10;i++)scanf("%d",&a[i]);12.以下能正确定义二维数组的是()A)int a[][3];B)int a[][3]={{2,3},{4}};C)int a[][3]={};D)int a[2][3]={{1},{2},{3,4}};13.s1和s2已正确定义并分别指向两个字符串。

c模拟考试试题及答案

c模拟考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个是合法的变量名?A. 2variableB. variable2C. variable-twoD. variable_two答案:B2. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. stringD. double答案:C3. 以下代码段的输出结果是什么?```cint a = 10;printf("%d", a++);```A. 10B. 11C. 9D. 编译错误答案:A4. 在C语言中,以下哪个语句可以正确地实现数组元素的初始化?A. int arr[5] = {0, 1, 2};B. int arr[5] = {0, 1, 2, 3, 4};C. int arr[5] = {0};D. int arr[5] = {0, 1, 2, 3};答案:C5. 下列哪个是C语言中的控制语句?A. ifB. switchC. both A and BD. none of the above答案:C6. 在C语言中,以下哪个是正确的函数声明?A. void myFunction(int a, int b);B. int myFunction(int a, int b);C. Both A and BD. None of the above答案:C7. 以下哪个是C语言中的输入函数?A. printf()B. scanf()C. sprintf()D. fprintf()答案:B8. 以下代码段的输出结果是什么?```cfor (int i = 0; i < 5; i++) {printf("%d ", i);}```A. 0 1 2 3 4B. 4 3 2 1 0C. 1 2 3 4 5D. 编译错误答案:A9. 在C语言中,以下哪个是正确的字符串声明?A. char str[10] = "Hello";B. string str = "Hello";C. char str = "Hello";D. string str[10] = "Hello";答案:A10. 以下哪个选项是C语言中的逻辑运算符?A. &&B. ||C. Both A and BD. None of the above答案:C二、填空题(每空2分,共20分)1. 在C语言中,一个基本的数据类型可以是______、______或______。

计算机二级考试C语言模拟练习题

计算机二级考试C语言模拟练习题计算机二级考试C语言模拟练习题C语言的运算符包含的范围很广泛,共有34种运算符。

下面给大家整理了计算机二级考试C语言模拟练习题,欢迎阅读!计算机二级考试C语言模拟练习题1). 关于C语言的变量,以下叙述中错误的是( )A.所谓变量是指在程序运行过程中其值可以被改变的量B.变量所占的存储单元地址可以随时改变C.程序中用到的所有变量都必须先定义后才能使用D.由三条下划线构成的符号名是合法的变量名正确答案:B答案解析:变量是指在程序运行过程中其值可以改变的值,一个变量实质上是代表了内存中的某个存储单元。

在程序中对某个变量的操作实际上就是对这个存储单元的操作,程序运行期间,这个分配的存储单元不会改变,但是其值可以变化。

变量命名要符合标识符的规定,其中下划线是标识符的组成字符。

程序中所有变量都必须先定义后使用。

2). 当变量c的值不为2、4、6时,值也为″真″的表达式是( )A.(c==2)||(c==4)||(c==6)B.(c>=2 && c<=6)&&!(c%2)C.(c>=2 &&c<=6)&&(c%2!=1)D.(c>=2 && c<=6) || (c!=3)|| (c!=5)正确答案:D答案解析:逻辑或运算中,只要有一项为真,表达式的值就为真,故选项D中c的值不为2、4、6时,那么表达式(c>=2&& c<=6)以及(c!=3)、(c!=5)必有一个成立,表达式的值也为真。

3). 在C语言中,函数返回值的类型最终取决于A.函数定义时在函数首部所说明的函数类型B.return语句中表达式值的类型C.调用函数时主调函数所传递的实参类型D.函数定义时形参的类型正确答案:A答案解析:在C语言中,应当在定义函数时指定函数值的'类型,凡不加类型说明的函数,一律按整型处理。

c语言模拟考试题及答案

c语言模拟考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. C语言中,哪个关键字用于声明一个变量?A. defineB. varC. letD. int答案:D3. 下列哪个选项是C语言中的整型常量?A. 0x1AB. 1.23C. 1e2D. "123"答案:A4. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. length()C. size()D. lengthof()5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. A和B答案:D6. C语言中,哪个关键字用于声明一个函数?A. functionB. defC. defineD. void答案:D7. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. copy()C. duplicate()D. copystr()答案:A8. 下列哪个选项是C语言中的浮点型常量?A. 3.14B. 3.14e2C. 3.14E2D. A和C答案:D9. 在C语言中,哪个关键字用于声明一个数组?B. listC. tableD. int[]答案:D10. 下列哪个选项是C语言中的位运算符?A. &B. |C. ^D. A和B答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个宏。

答案:#define2. C语言中,使用________函数可以将一个浮点数转换为字符串。

答案:sprintf3. 在C语言中,使用________关键字可以跳过当前循环的剩余部分,继续下一次循环。

答案:continue4. C语言中,使用________关键字可以立即退出循环。

C语言最终模拟题(含答案)

题号 1.以下选项中,能用作用户标识符的是(C)。

A : voidB: 8_8C: _0_D: unsigned题号 2...选择题 A :( 1 分,正确答案 A ,学生答案* )阅读以下程序#include <stdio.h>main(){int case; float printF;printf (" 请输入 2 个数 :");scanf ("%d %f", &case, &printF);printf ("%d %f\n", case, printF);}该程序在编译时产生错误,其出错原因是()。

A :定义语句出错, case 是关键字,不能用作用户自定义标识符B:定义语句出错, printF 不能用作用户自定义标识符C:定义语句无错,scanf 不能作为输入函数使用D:定义语句无错,printf不能输出case 的值题号 3...选择题 A :( 1 分,正确答案 B ,学生答案 B )表达式:(int)((double)9/2)-(9)%2的值是()。

A : 0B: 3C: 4D: 5题号 4...选择题 A :( 1 分,正确答案 B ,学生答案 D )若有定义语句:int x=10; ,则表达式x-=x+x的值为()。

A:-20B: -10C: 0D: 10题号 5...选择题 A :( 1 分,正确答案D,学生答案* )有以下程序#include <stdio.h>main(){int a=1, b=0;printf ("%d,", b=a+b);printf ("%d\n", a=2*b);}程序运行后的输出结果是()。

A:0,0B: 1,0C: 3,2D: 1,2题号 6...选择题 A :( 1 分,正确答案 A ,学生答案* )有以下程序#include <stdio.h>main(){int c=0, k;for(k=1; k<3; k++)switch (k){default: c+=k;case 2: c++; break;case 4: c+=2; break;}printf("%d\n", c);}程序运行后的输出结果是()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

、选择题(1)假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为A)log2nB)n2C)O(n1.5)D)n(n-1)/2正确答案: D(2)算法分析的目的是A)找出数据结构的合理性B)找出算法中输入和输出之间的关系C)分析算法的易懂性和可靠性D)分析算法的效率以求改进正确答案: D(3)线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是A)每个元素都有一个直接前件和直接后件B)线性表中至少要有一个元素C)表中诸元素的排列顺序必须是由小到大或由大到小D)除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件正确答案: D(4)在单链表中,增加头结点的目的是A)方便运算的实现B)使单链表至少有一个结点C)标识表结点中首结点的位置D)说明单链表是线性表的链式存储实现正确答案: A(5)软件工程的出现是由于A)程序设计方法学的影响B)软件产业化的需要C)软件危机的出现D)计算机的发展正确答案: C(6)软件开发离不开系统环境资源的支持,其中必要的测试数据属于A)硬件资源B)通信资源C)支持软件D)辅助资源正确答案: D(7)在数据流图(DFD)中,带有名字的箭头表示A)模块之间的调用关系B)程序的组成成分C)控制程序的执行顺序D)数据的流向正确答案: D(8)分布式数据库系统不具有的特点是A)数据分布性和逻辑整体性B)位置透明性和复制透明性C)分布性D)数据冗余正确答案: D(9)关系表中的每一横行称为一个A)元组B)字段C)属性D)码正确答案: A(10)下列数据模型中,具有坚实理论基础的是A)层次模型B)网状模型C)关系模型D)以上3个都是正确答案: C11)以下叙述不正确的是A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面正确答案: D(12)在C语言中,int,char和short三种类型数据在内存中所占用的字节数A)由用户自己定义B)均为2个字节C)是任意的D)由所用机器的机器字长决定正确答案: D(13)以下叙述正确的是A)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符正确答案: D(14)C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母,数字和下划线中任一字符正确答案: C(15)已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合C语言语法的表达式是A)x%(-3)B)w+=-2C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a=3)正确答案: A(16)x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是A)INPUT x、y、z;B)scanf("%d%d%d",&x,&y,&z);C)scanf("%d%d%d",x,y,z);D)read("%d%d%d",&x,&y,&z);正确答案: B(17)设x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是printf("%d,%d\n",x--,--y);A)10,3B)9,3C)9,2D)10,2正确答案: D(18)以下程序的输出结果是main(){ int a=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n",d);}A)1B)0C)非0的数D)-1正确答案: A(19)执行下列程序时输入:123<空格>456<空格>789<回车> 输出结果是main(){ char s[100]; int c, i;scanf("%c",&c); scanf("%d",&i); scanf("%s",s);printf("%c,%d,%s\n",c,i,s);}A)123,456,789B)1,456,789C)1,23,456,789D)1,23,456正确答案: D(20)下面有关for循环的正确描述是A)for循环只能用于循环次数已经确定的情况B)for循环是先执行循环体语句,后判断表达式C)在for循环中,不能用break语句跳出循环体D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来正确答案: D(21)以下程序的输出结果是main(){ int i,j,x=0;for(i=0;i<2;i++){ x++;for(j=0;j<3;j++){ if(j%2)continue;x++;}x++;}printf("x=%d\n",x);}A)x=4B)x=8C)x=6D)x=12正确答案: B(22)设有以下程序段int x=0,s=0;while(!x!=0)s+=++x;printf("%d",s);则A)运行程序段后输出0B)运行程序段后输出1C)程序段中的控制表达式是非法的D)程序段执行无限次正确答案: B(23)对下Ⅰ,Ⅱ两个语句描述正确的是Ⅰ.while(1)Ⅱ.for(;;)A)都是无限循环B)Ⅰ是无限循环,Ⅱ错误C)Ⅰ循环一次,Ⅱ错误D)以上答案都错正确答案: A(24)若有以下定义,则能使值为3的表达式是int k=7,x=12;A)x%=(k%=5)B)x%=(k-k%5)C)x%=k-k%5D)(x%=k)-(k%=5)正确答案: D(25)设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值是A)1B)2C)3D)4正确答案: B(26)以下描述中正确的是A)由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号C)在do-while循环体中,是先执行一次循环,再进行判断D)do-while循环中,根据情况可以省略while正确答案: C(27)以下函数返回a所指数组中最小的值所在的下标值fun(int *a, int n){ int i,j=0,p;p=j;for(i=j;i<n;i++)if(a[i]<a[p])________;return(p);}在下划线处应填入的是A)i=pB)a[p]=a[i]C)p=jD)p=I正确答案: D(28)以下叙述正确的是A)函数可以嵌套定义但不能嵌套调用B)函数既可以嵌套调用也可以嵌套定义C)函数既不可以嵌套定义也不可以嵌套调用D)函数可以嵌套调用但不可以嵌套定义正确答案: D(29)若有说明语句char a[]="It is mine";char *p="It is mine";则以下不正确的叙述是A)a+1表示的是字符t的地址B)p指向另外的字符串时,字符串的长度不受限制C)p变量中存放的地址值可以改变D)a中只能存放10个字符正确答案: D(30)以下程序的运行结果是sub(int x,int y,int *z){*z=y-x;}main(){ int a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%4d,%4d,%4d\n",a,b,c);}A)5,2,3B)-5,-12,-7C)-5,-12,-17D)5,-2,-7正确答案: B(31)若二维数组a有m列,则计算任一元素a[i][j]在数组中相对位置的公式为(假设a[0][0]位于数组的第一个位置上)A)i*m+jB)j*m+iC)i*m+j-1D)i*m+j+1正确答案: A(32)下列说法正确的是int i,x;for(i=0,x=0;i<=9 &&x!=876;i++)scanf("%d",x);A)最多的执行10次B)最多执行9次C)是无限循环D)循环体一次也不执行正确答案: A(33)若有下面的程序片段:int[12]={0},*p[3],**pp,i;for(i=0;i<3;i)p[i]=&a[i*4];pp=p;则对数组元素的错误引用是A)pp[0][1]B)a[10]C)p[3][1]D)*(*(p+2)+2)正确答案: C(34)若有说明:int a[3][4]={0};则下面正确的叙述是A)只有元素a[0][0]可得到初值0B)此说明语句不正确C)数组a中各元素都可得到初值,但其值不一定为0D)数组a中每个元素均可得到初值0正确答案: D(35)对下面程序描述正确的一项是(每行程序前面的数字表示行号)1 main()2 {3 float a[3]={0.0};4 int i;5 for(i=0;i<3;i++)scanf("%d",&a[i]);6 for(i=1;i<3;i++)a[0]=a[0]+a[i];7 printf("%f\n",a[0]);8 }A)没有错误B)第3行有错误C)第5行有错误D)第7行有错误正确答案: C(36)以下不正确的说法是C语言规定:A)实参可以是常量,变量或表达式B)形参可以是常量,变量或表达式C)实参可以为任何类型D)形参应与其对应的实参类型一致正确答案: B(37)已有如下数组定义和f函数调用语句,则在f函数的说明中,对形参数组array的正确定义方式为int a[3][4];f(a);A)f(array[3][4])B)f(int array[3][])C)f(int array[][4])D)f(int array[][])正确答案: C(38)下面程序的输出结果为main(){ int a,b;b=(a=3*5,a*4,a*5);printf("%d",b);}A)60B)75C)65D)无确定值正确答案: B(39)在位运算中,操作数右移一位,其结果相当于A)操作数乘以2B)操作数除以2C)操作数乘以4D)操作数除以4正确答案: B(40)有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。

相关文档
最新文档