大连理工大学c语言题库(选择判断填空)_第1页
大连理工大学c语言题库(选择判断填空)_第2页
大连理工大学c语言题库(选择判断填空)_第3页
大连理工大学c语言题库(选择判断填空)_第4页
大连理工大学c语言题库(选择判断填空)_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

选择1、以下数据中,为字符串常量的是〔D〕。A、'A'B、Howdoyoudo.C、$abcD、"house"2、以下所列的C语言常量中,错误的选项是(B)。A、0xFFC、2LD、'\72'3、以下程序的输出结果是〔D〕。main(){floatx=3.6;inti;i=(int)x;printf("x=%f,i=%d\n",x,i);}A、x=3.600000,i=4B、x=3i=3.600000C、x=3,i=3D、x=3.600000,i=34、假设k是整型,那么以下程序段的执行结果是:(B)k=-3;if(k<=0)printf("####")elseprintf("&&&&");A、####B、有语法错误,无结果C、&&&&D、####&&&&5、假设x=2,y=3那么x||y的结果是(C)。A、3B、0C、1D、26、针对以下程序段答复以下问题(B).for(t=1;t<=100;t++){scanf("%d",&x);if(x<0)continue;printf("%3d",t);}A、x>=0时什么也不输出B、最多允许输出100个非负整数C、printf函数永远也不执行D、当x<0时整个循环结束7、以下程序的执行结果是(B)。main(){intnum=0;while(num<=2){num++;printf("%d,",num);}}A、0,1,2B、1,2,3,C、1,2,3,4,D、1,2,8、选择正确的输入语句(D)。:(其中:charstring[20];)使得string的内容为"Iamstudent".A、scanf("%s",string);B、scanf("%c",&string);C、scanf("%s",&string);D、gets(string);9、对以下说明语句inta[10]={6,7,8,9,10};的正确理解是〔B〕。A、将5个初值依次赋给a[6]至a[10]B、将5个初值依次赋给a[0]至a[4]C、因为数组长度与初值的个数不相同,所以此语句不正确D、将5个初值依次赋给a[1]至a[5]10、以下标识符中可以作为用户函数名的是〔D〕.A、structB、intC、unionD、go_to11、以下表达错误的选项是〔B〕.A、函数调用可以出现在一个表达式中B、函数调用可以作为一个函数的形参C、函数调用可以作为一个函数的实参D、函数允许递归调用12、假设用数组名作为函数的实参,传递给形参的是〔B〕。A、数组第一个元素的值B、数组的首地址C、数组元素的个数D、数组中全部元素的值13、在C语言程序中〔B〕。A、函数的定义可以嵌套,但函数的调用不可以嵌套B、函数的定义不可以嵌套,但函数的调用可以嵌套C、函数的定义和函数调用不可以嵌套D、函数的定义和函数调用均可以嵌套14、以下说法中正确的选项是(B).A、函数调用不占运行时间,只占编译时间.B、宏替换不占运行时间,只占编译时间.C、有参数的宏定义,就是函数.D、在定义宏时,宏名与带参数的括弧之间可以加空格.15、假设有说明:int*p,m=5,n;以下正确的程序段是〔D〕。A、scanf("%d",&n);*p=n;B、p=&n;scanf("%d",*p)C、p=&n;scanf("%d",&p);D、p=&n;scanf("%d",p);16、对于下述定义,不正确的表达是(B).uniondata{inti;charc;floatf;}a,b;A、变量a的地址和它的各成员地址都是相同的B、可以在定义类型的同时定义变量a,并对a的任意成员初始化C、变量a所占内存的长度等于成员f的长度D、如果有定义语句uniondataa={6};那么对变量a的初始化是正确的17、有两个整型变量dog和cat,假设要从磁盘文件把数据读到其中,正确的形式是(B).A、fscanf(dog,2,1,fp);B、fscanf(fp,"%d%d",&dog,&cat);C、fscanf(dog,cat,2,1,fp);D、fscanf(fp,"%d",&dog,&cat);18、sizeof(float)是〔C〕。A、一个浮点表达式B、一个不合法的表达式C、运算结果是一个整型表达式。D、一种函数调用19、用下面的scanf函数输入数据,使得i=10,k=15选择正确的键盘输入方法(B).(用"[CR]"表示回车,U表示空格)main(){inti,k;scanf("i=%d,k=%d",&i,&k);}A、i=10[CR]k=15[CR]B、i=10,k=15[CR]C、10U15[CR]D、10,15[CR]20、逻辑表达式3<2||-1&&4>3-!0的值为:(A)A、1B、3C、0D、221、语句while(!E);中的表达式!E等价于〔D〕。A、E==1B、E!=0C、E!=1D、E==022、以下正确的描述是(A).A、只能在循环体内和switch语句内使用break语句B、continue语句的作用是终止整个循环的执行C、从多层嵌套的外层循环中退出时,只能使用goto语句D、在循环体内使用break和continue语句的作用相同23、假设有说明inta[3][4];那么a数组元素的非法引用是〔B〕。A、a[1][3]B、a[0][4]C、a[0][2*1]D、a[4-2][0]24、在C语言的函数中,以下正确的说法是〔B〕。A、形参可以是常量和变量B、可以有也可以没有形参C、数组名不能作形参D、必须有形参25、inta[10]={1,2,3,4,5,6,7,8};int*p;p=&a[5];p[-3]的值是〔〕。A、4B、2C、不一定D、326、假设有以下程序段,那么使用错误的选项是(C).structstudent{intnum;intage;};structstudentstu[3]={{1001,20},{1002,19},{1004,20}};main();{structstudent*p;p=stu;…;}A、(*p).numB、(p++)->numC、p=&stu.ageD、p++单项选择〔30分〕1.大写字母A的ASCII码值是65,小写字母a的ASCII码是97,那么用八进制表示的字符常量'\101'是〔A〕。【3】A、字符AB、字符aC、字符eD、非法的常量2.以下程序段的输出结果为〔C〕。【4】floatk=0.8567;printf("%4.1f%%",k*100);A、85.6%B、85.6%%C、85.7%D、.8573.下面的scanf函数输入数据,使得a=10,b=15,s1='S',s2='s',x1=1.5,x2=-3.75,x3=67.8,正确的键盘输入方法是(A).(用"[CR]"表示回车,U表示空格)【4】main(){inta,b;floatx1,x2,x3;chars1,s2;scanf("%5d%5d%c%c%f%f%*f%f",&a,&b,&s1,&s2,&x1,&x2,&x3);}A、10UUU15Ss1.5U-3.75U+1.5U67.8[CR]B、10UUU15USUs1.5U-3.75U+1.5U67.8[CR]C、10UUU15USUsU1.5U-3.75U+1.5U67.8[CR]D、10UUU15Ss1.5U-3.75U+1.5,67.8[CR]4.C语言的if语句中,用作判断的表达式为(A)。【5】A、任意表达式B、算术表达式C、逻辑表达式D、关系表达式5.以下程序的输出结果是:(A)【5】main(){intm=5;if(m++>5)printf("%d\n",m);elseprintf("%d\n",m--);}A、6B、5C、7D、4//;,?&&||控制表达式(ifswitchforwhile)for三个表达式6.以下for循环的执行次数是for(x=0,y=0;(y=123)&&(x<4);x++);〔C〕。【6】A、3次B、循环次数不定C、4次D、是无限循环7.以下程序的执行结果是(B)。【6】main(){intnum=0;while(num<=2){num++;printf("%d,",num);}}A、0,1,2B、1,2,3,C、1,2,3,4,D、1,2,8.以下不能正确进行字符串赋初值的语句是〔A〕。【7】A、charstr[5]="good!";B、charstr[5]={'g','o','o','d'};C、char*str="good!";D、charstr[]="good!";9.函数调用:strcat(strcpy(str1,str2),str3)的功能是(D)。【7】A、将串str1复制到串str2中后再连接到串str3之后B、将串str2连接到串str1之后再将串str1复制到串str3中C、将串str1连接到串str2之后再复制到串str3之后D、将串str2复制到串str1中后再将串str3连接到串str1之后10.以下函数的类型是(C)。【8】fff(floatx){return5;}A、void类型B、与参数x的类型相同C、int类型D、无法确定11.设有如下函数【8】fac(intx){floaty=1.0;return(x*y);}那么函数的类型为(A).A、int型B、float型C、无法确定D、void型12.设有宏定义#definePI3.14和#defineS(r)PI*r*r,那么S(2)的值为(B).【8】A、6.28B、12.56C、3.14D、9.4213.以下关于指针定义的描述,错误的选项是〔A〕。【9】A、指针是一种变量,该变量用来存放某个变量的值B、指针是一种变量,该变量用来存放某个变量的地址值C、指针变量的类型与它所指向的变量类型一致D、指针变量的命名规那么与标识符相同14.以下程序的输出结果是(A).【9】main(){charstr[]="ABCD",*p=str;printf("%d\n",*(p+3));}A、68B、不确定的值C、字符D的地址D、015.对结构体类型的变量的成员的访问,无论数据类型如何都可使用的运算符是〔B〕。【10】A、&B、.C、*D、->单项选择题以下关于单目运算符++、--的表达中正确的选项是(D)。A、它们的运算对象可以是int型变量,但不能是double型变量和float型变量B、它们的运算对象可以是任何变量和常量C、它们的运算对象可以是char型变量和int型变量,但不能是float型变量D、它们的运算对象可以是char型变量、int型变量和float型变量执行以下程序后,其输出结果是〔D〕。main(){inta=9;a+=a-=a+a;printf("%d\n",a);}A、18B、-9C、9D、-18打印语句printf("sTUDEND\bT\rS");在屏幕上正确的输出形式是(C).A、sTUDENDSB、TUDENTSC、STUDENTD、sTUDENTS键盘输入a=4,b=3,下面程序输出的结果是(C).main(){inta,b,s;scanf("%d%d",&a,&b);s=a;if(a<b)s=b;s=s*s;printf("%d\n",s);}A、9B、13C、16D、15假设给定条件表达式(m)?(a++):(a--),那么其中表达式m〔B〕。A、和(m==0)等价B、和(m!=0)等价C、和(m==1)等价D、和(m!=1)等价执行语句for(i=1;i++<4;);后变量i的值是〔B〕。A、3B、5C、4D、不定以下描述中正确的选项是〔C〕。A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B、do-while循环中,根据情况可以省略whileC、在do-while循环体中,必须有能使循环退出的操作。D、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号inta[10];合法的数组元素的最小下标值为〔D〕。A、10B、9C、1D、0以下正确的函数定义是(C).A、doublefun(intx,inty){z=x+y;returnz;}B、fun(x,y){intx,y;doublez;z=x/y;returnz;}C、floatf(intx,inty){floatz;z=x/y;returnz;}D、fun(intx,y){intz;returnz;}chara1[]="abc",a2[80]="1234";将a1串连接到a2串后面的语句是〔A〕。A、strcat(a2,a1);B、strcat(a1,a2);C、strcpy(a1,a2);D、strcpy(a2,a1);假设有chars1[]="abc",s2[20],*t=s2;gets(t);那么以下语句中能够实现当字符串s1大于字符串s2时,输出s2的语句是〔C〕。A、if(strcmp(s2,s1)>0)puts(s2);B、if(strcmp(s2,t)>0)puts(s2);C、if(strcmp(s1,t)>0)puts(s2);D、if(strcmp(s1,s1)>0)puts(s2);有宏定义#defineSQR(a)2*a*a,那么SQR(3+4)的值为(A).A、22B、32C、98D、18假设有说明:int*p,m=5,n;以下正确的程序段是〔D〕。A、scanf("%d",&n);*p=n;B、p=&n;scanf("%d",*p)C、p=&n;scanf("%d",&p);D、p=&n;scanf("%d",p);charh,*s=&h;可将字符H通过指针存入变量h中的语句是〔A〕。A、*s='H';B、s='H'C、*s=H;D、s=H;定义结构体的关键字是(A)。A、structB、typedefC、enumD、union单项选择下述正确的C语言常量是:(C).A、E2B、5.0EC、3e-3D、假设有定义:inta=7;floatx=2.5,y=4.7;那么表达式x+a%3*(int)(x+y)%2/4的值是〔D〕。A、0.000000B、2.750000C、3.500000D、2.500000根据下面的程序,使i=123,c1='A',c2='B'哪一种是正确的键盘输入方法(C).(规定用[CR]表示回车,U表示空格)main(){inti;charc1,c2;scanf("%d%c%c",&i,&c1,&c2);}A、123AUB[CR]B、123UAUB[CR]C、123AB[CR]D、123[CR]AB[CR]以下程序段的输出结果为〔B〕。inta=7,b=9,t;t=a*=a>b?a:b;printf("%d",t);A、49B、63C、7D、9inta=1,b=2,c=3;if(a>c)b=a;a=c;c=b;那么c的值为〔C〕。A、1B、3C、2D、不一定t为int类型,进人下面的循环之前,t的值为0while(t=1){……}那么以下表达中正确的选项是(C)。A、循环控制表达式的值为0B、循环控制表达式不合法C、循环控制表达式的值为1D、以上说法都不对针对for循环语句,for(表达式1;表达式2;表达式3),以下说法正确的选项是(B).A、break语句可以一次性跳出多层嵌套循环B、break语句只能跳出最内层循环C、continue语句可以一次性跳出多层嵌套循环D、continue语句可以跳出最内层循环以下不正确的定义语句是〔C〕。A、doublex[5]={2.0,4.0,6.0,8.0,10.0};B、charc1[]={'1','2','3','4','5'};C、inty[5]={0,1,3,5,7,9};D、charc2[]={'\x10','\xa','\x8'};以下正确的说法是(A).A、函数的类型决定返回值的类型B、定义函数时,形参的类型说明可以放在函数体内C、return后面不能为表达式D、如果形参与实参的类型不一致,以实参类型为准C语言规定,函数返回值的类型是由〔A〕。A、在定义该函数时所指定的函数类型所决定B、return语句中的表达式类型所决定C、调用该函数时系统临时决定D、调用该函数时的主调函数类型所决定函数fun用于将一字符串按相反次序显示,那么横线上的表达式为(D).voidfun(char*s){if(!*s)return;_____;printf("%c",*s);}A、printf("%s",s+1);B、fun(*(s+1));C、printf("%s",s+strlen(s)-1);D、fun(s+1);在宏定义#definePI3.14159中,用宏名替换一个(A).A、字符序列B、函数名C、单精度数D、双精度数假设有说明:int*p1,*p2,m=5,n;以下均是正确赋值语句的选项是〔A〕。A、p1=&m;p2=p1;B、p1=&m;p2=&p1C、p1=&m;*p2=*p1;D、p1=&m;p2=&n;*p1=*p2;单项选择下面四个选项中,均是不合法的用户标识符的选项是〔D〕。A、floatla0_AB、AP_0doC、_123tempintD、b-agotoint表达式18/4*sqrt(4.0)/8值的数据类型为〔A〕。A、doubleB、floatC、intD、不确定设:longw=65535,t=7654321;根据下面的输出结果,正确的程序段是(C).w=65535,t=7654321endA、printf("w=%5d,t=%7d\n",w,t);printf("%s","end');B、printf("w=%5ld,t=%7ld",w,t);printf("%c","end");C、printf("w=%5ld,t=%7ld\n",w,t);printf("%s","end");D、printf("w=%5u,t=%7u\n",w,t);printf("end");选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为"真"或"假"。哪个数作为逻辑"假"值〔A〕。A、0B、-1C、非零的数D、1假定有以下变量定义:intk=7,x=12;那么能使值为3的表达式是:(A)A、(x%=k)-(k%=5)B、x%=(k-k%5)C、x%=k-k%5D、x%=(k%=5)在以下给出的表达式中,与do--while(E)语句中的〔E〕不等价的表达式是〔B〕。A、(E>0||E<0)B、(E==0)C、(!E==0)D、(E!=0)下面有关for循环的正确描述是〔C〕。A、for循环是先执行循环体语句,后判断表达式B、在for循环中,不能用break语句跳出循环体C、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来D、for循环只能用于循环次数已经确定的情况在C语言中,一维数组的定义方式为:类型说明符数组名〔B〕。A、[整型常量]或[整型表达式]B、[正整型常量表达式]C、[整型表达式]D、[常量表达式]以下正确的说法是(A).A、函数的类型决定返回值的类型B、定义函数时,形参的类型说明可以放在函数体内C、return后面不能为表达式D、如果形参与实参的类型不一致,以实参类型为准假设调用一个函数,且此函数中没有return语句,那么正确的说法是:该函数〔B〕。A、没有返回值B、返回一个不确定的值C、返回假设干个系统默认值D、能返回一个用户所希望的值设函数的调用形式如下:f((x1,x2),(y1,y2,y3)),那么函数有(A)个形参.A、2B、4C、3D、5在"文件包含"的预处理中,被包含的文件应是(A).A、源文件B、可执行文件C、目标文件D、批处理文件字符串指针变量中存入的是(A)。A、字符串的首地址B、字符串变量C、第一个字符D、字符串以下程序的输出结果是(D).main(){charstr[]="ABCD",*p=str;printf("%d\n",*(p+4));}A、68B、字符D的地址C、不确定的值D、0C语言中,定义结构体的保存字是〔C〕。A、typedefB、unionC、structD、enum一、单项选择题1、以下字符中不是转义字符的是〔A〕。A、'\c'B、'\b'C、'\\'D、'\a'2、设a=12,且a定义为整型变量。执行语句a+=a-=a*=a;后a的值为〔A〕。A、0B、144C、132D、123、已定义floatx=1.25,y=3.37;根据下面的输出结果,正确的输出语句是(C).y+x=4.62,y-x=2.12A、printf("y+x=%6.2f,y-x=%6.2f\n",y+x,y-x);B、printf("y+x=%f,y-x=%f\n",y+x,y-x);C、printf("y+x=%.2f,y-x=%.2fD、printf("y+x=%5.2f,y=%5.2f\n",y+x,y-x);4、执行下面程序段后,b的值为(A).ints=35;chart='A';intb;b=((s&&4)&&(t<'a'));A、1B、3C、2D、05、假设k是整型,那么以下程序段的执行结果是:(B)k=-3;if(k<=0)printf("####")elseprintf("&&&&");A、####B、有语法错误,无结果C、&&&&D、####&&&&6、设j和k都是int类型,那么下面的for循环语句〔D〕。for(j=0,k=0;j<=9&&k!=876;j++)scanf("%d",&k);A、最多执行9次B、是无限循环C、循环体一次也不执行D、最多执行10次7、以下正确的描述是(A).A、只能在循环体内和switch语句内使用break语句B、continue语句的作用是终止整个循环的执行C、从多层嵌套的外层循环中退出时,只能使用goto语句D、在循环体内使用break和continue语句的作用相同8、以下能对一维数组a进行正确初始化的语句是〔B〕。A、inta[10]={};B、inta[]={0};C、inta[10]={10*1};D、inta[10]=(0,0,0,0,0)9、以下正确的说法是(A).A、函数的类型决定返回值的类型B、定义函数时,形参的类型说明可以放在函数体内C、return后面不能为表达式D、如果形参与实参的类型不一致,以实参类型为准10、以下程序的输出结果为〔C〕。main(){inta=1,b=2,c=3,d=4,e=5;printf("%d\n",func((a+b,b+c,c+a),(d+e)));}intfunc(intx,inty){return(x+y);}A、9B、15C、13D、函数调用出错11、以下正确的说法是〔D〕。A、用户假设需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调B、用户假设需调用标准库函数,调用前必须重新定义C、系统根本不允许用户重新定义标准库函数D、用户可以重新定义标准库函数,假设如此,该函数将失去原有含义12、在#include命令中,文件名可用双引号或尖括号括起来,对于二者的以下说法中正确的选项是(A).A、用尖括号时,直接按系统标准方式检索文件目录.B、用双引号时,直接按系统标准方式检索文件目录.C、用双括号和尖括号时,都不检查源文件所在的文件目录.D、以上说法都不对.13、当说明一个结构体变量时系统分配给它的内存是〔D〕。A、成员中占内存量最大者所需的容量B、结构中第一个成员所需内存量C、结构中最后一个成员所需内存量D、各成员所需内存量的总和14、以下程序段给数组所有的元素输入数据,请选择正确答案填入(C)。#include<stdio.h>main(){inta[10],i=0;while(i<10)scanf("%d",(_______));...}A、&a[i+1]B、a+iC、a+(i++)D、&a[++i]15、在定义构造数据类型时,不能〔A〕。A、末尾不写分号B、说明存储类型C、初始化D、说明变量一、单项选择题1、以下变量说明语句中,正确的选项是〔D〕。A、chara;b;c;B、char:abc;C、intx;z;D、intx,z;2、设以下变量均为int类型,那么值不等于7的表达式是〔A〕。A、(x=6,x+1,y=6,x+y)B、(x=y=6,x+y,y+1)C、(y=6,y+1,x=y,x+1)D、(x=y=6,x+y,x+1)3、设:longw=65535,t=7654321;根据下面的输出结果,正确的程序段是(C).w=65535,t=7654321endA、printf("w=%5d,t=%7d\n",w,t);printf("%s","end');B、printf("w=%5ld,t=%7ld",w,t);printf("%c","end");C、printf("w=%5ld,t=%7ld\n",w,t);printf("%s","end");D、printf("w=%5u,t=%7u\n",w,t);printf("end");4、设x,y,z,t均为整型变量,那么执行以下语句后,t的值为:(B)x=y=z=1;t=++x||++y&&++z;A、0B、1C、2D、不定值5、如果inta=2,b=3,c=0,以下描述正确的选项是(B)。A、a&&b>c的结果为假B、!a!=(b!=c)表达式的值为1C、a||(b=c)执行后b的值为0D、a>b!=c和a>(b!=c)的执行顺序是一样的6、从键盘输入的整数中找出最小值min,输入0时结束.请在A处填写正确语句(D)。#include"stdio.h"main(){intmin=0,a;do{scanf("%d",&a);if(min>a)min=a;}while(___A___);printf("%d",min);}A、a=0B、a==0C、a>0&&a<0D、a!=07、设有如下程序段:intk=10;while(k==0)k--;那么下述说明中正确的选项是(A).A、循环体一次也不执行B、循环体执行一次C、死循环D、循环体执行10次8、staticcharstr[10]="China";数组元素个数为〔D〕。A、6B、9C、5D、109、函数调用:strcat(strcpy(str1,str2),str3)的功能是(D)。A、将串str1复制到串str2中后再连接到串str3之后B、将串str2连接到串str1之后再将串str1复制到串str3中C、将串str1连接到串str2之后再复制到串str3之后D、将串str2复制到串str1中后再将串str3连接到串str1之后10、C语言程序中必须有的函数是〔B〕。A、#include"stdio.h"B、mainC、printfD、scanf11、程序运行结束后,屏幕上输出值为(B).staticintx=10;main(){intx=3;f();x--;printf("%d",x);}f(){x++;}A、10B、2C、11D、312、file1.c中有命令,#include<file2.c>,假设file2.c中有全局静态变量a,那么(B).A、a在file1.c中应用extern说明.B、a在file1.c中有效,不必用extern说明.C、a在file1.c中不生效D、a在file1.c和file2.c中均不生效.13、假设有说明:intn=2,*p=&n,*q=p;,那么以下非法的赋值语句是〔C〕。A、*p=*q;B、n=*q;C、p=n;D、p=q;14、以下程序的输出结果是(A).main(){charstr[]="ABCD",*p=str;printf("%d\n",*(p+3));}A、68B、不确定的值C、字符D的地址D、015、使用共用体变量,不可以〔A〕。A、同时访问所有成员B、进行动态管理C、节省存储空间D、简化程序设计单项选择1、假设变量均已正确定义并赋值,以下合法的C语言赋值语句是(C)。A、x+n=I;B、x==5;C、x=n/2.5;D、5=x=4+1;2、下述错误的C语言常量是:(C).A、0xfB、5.C、090D、.253、根据下面的程序,使a=123,c1='o',c2='k'哪一种是正确的键盘输入方法?(B)。(规定用字符串[CR]表示回车,U表示空格)main(){inta;charc1,c2;scanf("%d%c%c",&a,&c1,&c2);}A、123UoUk[CR]B、123ok[CR]C、123Uok[CR]D、123oUk[CR]4、键入a=4,b=3,执行下面程序输出的结果是(B).main(){inta,b,s;scanf("%d%d",&a,&b);s=a;if(a>b)s=b;s=s*s;printf("%d\n",s);}A、13B、9C、16D、155、执行下面程序段后,i的值是(A).inti=10;switch(i){case9:i+=1;case10:i--;case11:i*=3;case12:++i;}A、28B、10C、9D、276、以下不是无限循环的语句为〔D〕。A、while(1){x++;}B、for(;;x++=i);C、for(i=10;;i--)sum+=i;D、for(y=0,x=1;x>++y;x=i++)i=x;7、下面程序段运行的结果是(A).x=-1;do{x=x*x;}while(!x);A、循环执行一次B、有语法错误C、死循环D、循环执行两次8、假设有说明:inta[][3]={1,2,3,4,5,6,7};那么a数组第一维的大小是〔A〕。A、3B、无确定值C、4D、29、假设定义inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc='a',d,g;那么数值为4的表达式是(D).A、a[4]B、a[g-c]C、a['d'-'c']D、a['d'-c]10、以下表达中正确的选项是〔C〕。A、可以在一个函数中定义另一个函数B、main()函数必须放在其它函数之前C、构成C程序的根本单位是函数D、所有被调用的函数一定要在调用之前进行定义11、下述函数的功能是(C).intfun(char*x){char*y=x;while(*y++);returny-x-1;}A、比拟两个字符串的大小B、求字符串存放位置C、求字符串的长度D、将字符串x连接到字符串y后面12、在执行"文件包含"命令时,以下说法正确的选项是(A).A、作为一个源程序编译,得到一个目标文件.B、一个include命令可指定多个被包含文件.C、在编译时作为两个文件联结.D、被包含的文件可以是源文件或目标文件.13、在说明语句:int*f();中,标识符f代表的是〔A〕。A、一个返回值为指针型的函数名B、一个用于指向函数的指针变量C、一个用于指向一维数组的行指针D、一个用于指向整型数据的指针变量14、下面程序的输出结果应该是(B).chars[]="ABCD";main(){char*p;for(p=s;p<s+4;p++)printf("%s",p);}A、DCBAB、ABCDBCDCDDC、ABCDABCABAD、ABCD以下程序段char*alp[]={"ABC","DEF","GHI"};intj;puts(alp[1]);的输出结果是〔D〕。A、DB、AC、BD、DEF以下表达式中,可作为C合法表达式的是〔D〕。A、3.0%2B、3=2=1=0C、[3,2,1,0]D、(3,2,1,0)下面程序的正确输出结果是().(规定用U表示空格)main(A){floatx=5.783,y=-10.2345;printf("x=%-8.2f,y=%-8.2f\n",x,y);}当x为偶数或奇数时(0除外〕,其值都为0的表达式是:(C)A、(x/2*2-x)==0B、x%2==0C、!x!=0D、!(x%2)以下运算符优先级最低的是(A).A、=B、+C、!D、&&设有如下程序段:intk=10;while(k==0)k--;那么下述说明中正确的选项是(A).A、循环体一次也不执行B、循环体执行一次C、死循环D、循环体执行10次从循环体内某一层跳出,继续执行循环外的语句是(C)。A、continue语句B、空语句C、break语句D、return语句以下对一维整型数组a的正确说明是〔D〕。A、inta(10);B、intn;scanf("%d",&n);inta[n];C、intn=10,a[n];D、#defineSIZE10(换行)inta[SIZE];以下定义语句中,错误的选项是〔A〕。A、intn=5,a[n];B、inta[]={1,2};C、chars[10]="test";D、char*a[3];下面表达中不正确的选项是(C).A、可以对字符型数组进行整体输入和输出.B、不可以对浮点型数组进行整体输入和输出.C、可以对整型数组进行整体输入和输出.D、字符型数组可以存放字符串.函数定义时的参数为形参,调用函数时所用的参数为实参,那么以下描述正确的选项是(C).A、实参与形参是双向传递B、形参可以是表达式C、形参和实参可以同名D、实参类型一定要在调用时指定以下错误的描述是:函数调用可以〔D〕。A、出现在执行语句中B、做为一个函数的实参C、出现在一个表达式中D、做为一个函数的形参以下不正确的说法是:C语言规定〔C〕。A、实参可以是常量,变量或表达式B、实参可以为任何类型C、形参可以是常量,变量或表达式D、形参应与其对应的实参类型一致以下形式,不属于编译预处理命令的是(D).A、#ifdefMB、#undefMC、#if(M>1)D、while(M>1)下面判断正确的选项是〔D〕。A、charc[4]="abc",d[4]="abc";等价于charc[4]=d[4]="abc";B、charstr[10]={"china"};等价于charstr[10];str[]={"china"};C、char*a="china";等价于char*a;*a="china";D、char*s="china";等价于char*s;s="china";假设有以下结构体定义:structexample{intx;inty;}v2;那么(D)是正确的引用或定义.A、example.x=10;B、structv2;v2.x=10;C、examplev2;v2.x=10;D、structexamplev2={10,3};假设fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为〔D〕。A、-1B、1C、一个非0值D、0判断(O=F,1=T)如果有一个字符串,其中第十个字符为'\n',那么此字符串的有效字符为9个。F格式字符%o用来以十六进制形式输出整数.Fa=3,b=4,c=5,那么逻辑表达式!(a>b)&&!c||1的值为1.Tx=2,y=2,执行分支语句if(x==y)y=1;elsey=-1;后,y=-1.Fcontinue语句对于while和do-while循环来说,意味着转去计算While表达式.T在do-while循环中,根据情况可以省略while.F对于字符数为n个的字符串,其占用的内存为n+1个字节空间.Tputs函数用来输出一个字符.F引用数组元素时,下标可以是整型表达式或整型常量.T函数调用结束后,静态局部变量所占用的空间被释放.F在一个函数中定义的静态局部变量可以被另一个函数调用.F当全局变量与局部变量同名时,在局部变量的作用域范围之内,全局变量起作用.F计算机编译系统对宏定义在编译时进行语法检查.F假设定义intarray[5],*p;那么赋值语句p=array;是正确的.T共同体变量所占的内存长度等于最长的成员的长度。TC语言中,翻开一个文件就意味着产生了一个文件.F1、假设a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变12、charc[6]="abcde";printf("%3s",c)表示输出的字段的宽度,如果被输出的数据的位数大于3,按实际位数输出.13、条件表达式x?'a':'b'中,假设x=0时,表达式的值为'a'.04、在逻辑运算符中的运算级别由高向低依次为&&->||->!05、do-while循环由do开始,while结束,循环体可能一次也不做。06、continue语句用于终止循环体的本次执行.17、假设有定义和语句:inta[3][3]={{3,5},{8,9},{12,35}},i,sum=0;for(i=0;i<3;i++)sum+=a[i][2-i];那么sum=21.18、inta[3][4]={{1},{5},{9}};它的作用是将数组各行第一列的元素赋初值,其余元素值为0。19、定义一维数组的形式为:类型说明数组名[表达式],其中表达式可以是正整型常量表达式、字符常量表达式.110、在C语言中,函数名代表函数的入口地址.111、函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的实参个数是5.012、数组名可以作为函数的实参和形参.113、一个include命令只能指定1个被包含的文件。114、假设p为指针变量,a为数组名,那么a-p是合法的表达式.115、在程序中定义了一个结构体类型后,可以屡次用它来定义具有该类型的变量。116、C语言中,关闭一个文件就删除了这个文件.01.在C语言中,各种类型的整型数据在内存中都占2个字节。F【3】2.假设有inti=10,j=2;那么执行完i*=j+8;后ⅰ的值为28。F【3】3.格式字符%g选用%e或%f格式中输出宽度较长的一种格式输出实数.F【4】4.C语言程序中输入一个中间带有空格的字符串时,可以用scanf函数.F【4】5.设d=1,e=2,f=3,那么逻辑表达式!(d+e)+f&&e+f*2的值为0.F【5】6.a=4,b=2,c=3,d=5,表达式a>b?a:c<d?c:d的值为4.T【5】7.语句if(a>b)printf("%d",a);elseprintf("%d",b);可以用语句printf("%d",a>b?a:b);取代.T【5】8.在do-while循环中,任何情况下都不能省略while.T【6】9.break语句能够终止当前进行的多层循环.F【6】10.continue语句对于while和do-while循环来说,意味着转去计算While表达式.T【6】11.对静态变量的初始化不是在编译阶段完成的.F【8】12.gets函数是用来输入一个字符的函数.F【7】13.设有数组定义:chararray[]="hello";那么数组array所占的内存空间为5字节.F【7】14.当全局变量与局部变量同名时,在局部变量的作用域范围之内,局部变量起作用.T【8】15.C语言中,通过函数调用只能获得一个返回值.F1801【8】16.数组名作为函数调用时的实参,实际上传递给形参的是数组第一个元素的值.F【8】17.被包含文件与其所在的文件(即用#include命令的源文件),在预编译后,成为同一个文件.T【8】18.如果需要向函数内传递多个值,用数组和用指针效果是一样的.T【9】19.两个类型相同的结构体变量,可以互相赋值.T【10】20.C语言中,在翻开文件时,必须说明文件的使用方式,"wb+"只能用于文件的写.F【11】假设a=3,b=2,c=1那么关系表达式"(a>b)==c"的值为"真"。Ta=(b=4)+(c=6)是一个合法的赋值表达式。TC语言程序中输入一个中间带有空格的字符串时,可以用scanf函数.F格式字符%e以指数形式输出实数数字局部小数位数7位.F设g=1,h=2,k=3,那么逻辑表达式k+g||!h&&k-h的值为0。F求解表达式max=(a>b)?a:b的步骤是,先求解条件表达式(a>b),再根据它的值将a或b赋给max.T语句if(a>b)printf("%d",a);elseprintf("%d",b);可以用条件表达式a>b?a:b取代.Fbreak语句能够终止当前进行的多层循环.Ffor循环的三个表达式都可以省略.Tfor语句的循环体至少执行一次.F字符串"Dalian"在内存中的存储长度是7.F定义intx[5],n;那么x=x+n;或x++;都是正确的.F假设有定义inta[10];那么for(i=0;i<=10;i++)a[i]=i;编译时无语法错误.T数组名作为函数调用时的实参,实际上传递给形参的是数组第一个元素的值.F当变量的存储类型定义缺省时,系统默认为变量的存储类型为auto类型,分配在静态区.F两个字符串中的字符个数相同时才能进行字符串大小的比拟.F如果被包含文件中有全局静态变量,它们在用#include命令的源文件中有效.T假设有inta[10],*p;那么p=&a[0]与p=a等价.T共用体变量中起作用的成员是最后一次存放的成员.T下面的定义和语句是合法的:file*fp;fp=fopen("a.txt","r");F表达式(j=3,j++)的值是4.F假设a=3,b=2,c=1那么关系表达式"(a>b)==c"的值为"真"。TC语言的输入功能是由系统提供的输入函数实现的.Tcharc[6]="abcde";printf("%3s",c)表示输出的字段的宽度为3位,如果被输出的数据的位数大于3,只输出3位数.F条件表达式x?'a':'b'中,假设x=0时,表达式的值为'a'.F设x=1,y=2,z=3,那么逻辑表达式x-y>z&&y!=z的值为0.Ta=3,b=4,c=5.那么逻辑表达式a+b>c&&b==c值为0.T假设有说明intc;那么while(c=getchar());没有语法错误。Tdo-while循环由do开始,while结束,循环体可能一次也不做。Ffor循环语句只能用于循环次数确定的情况下.F假设有定义inta[10];那么for(i=0;i<=10;i++)a[i]=i;编译时无语法错误.T定义intx[5],n;那么x=x+n;或x++;都是正确的.F二维数组在内存中存贮时,是按列的顺序连续存贮各元素的值.F变量根据其作用域的范围可以分作局部变量和全局变量.T通过return语句,函数可以带回一个或一个以上的返回值。F函数的返回值可以通过函数中的return语句获得。T假设有宏定义:#defineS(a,b)t=a;a=b;b=t由于变量t没定义,所以此宏定义是错误的。F定义inta[]={1,2,3,4},y,*p=&a[1];,那么执行y=(*--p)++后,y的值是2.F一个共用体变量中可以同时存放其所有成员.F用fopen("file","r+");翻开的文件"file"可以进行修改。T在C程序中,%作为运算符时,是只能用于整数运算。T在C语言中,各种类型的整型数据在内存中都占2个字节。FC语言程序中输入一个中间带有空格的字符串时,只能用gets函数.T整型变量在全部范围内可以用字符格式输出.Fa=1,b=2,c=3,d=4,那么条件表达式a>b?a:(c>d?c:d)的值为4.T逻辑表达式4>2&&1||5<3-!0的值为1.T下面程序段的输出结果为A。Finti=20;switch(i/10){case2:printf("A");case1:printf("B");}对于for(表达式1;表达式2;表达式3)语句来说,continue语句意味着转去执行表达式2.Ffor循环的三个表达式都可以省略.T循环结构中的continue语句是使整个循环终止执行.F定义chars[9];gets(s);假设键盘输入的字符串是Turboc↙(↙代表按回车键操作),那么键盘输入的字符最终输入给数组s中的字符个数是7.T定义一维数组的形式为:类型说明数组名[表达式],其中表达式必须是整型常量.F以下程序段是否正确:Finta[10];....a++;字符处理函数strcpy(str1,str2)的功能是把字符串1接到字符串2的后面.F静态局部变量是在编译时被初始化的,故它只被赋初值一次.T没有初始化的数值型静态局部变量的初值是不确定的值.F如果字符串与宏名相同,那么不管其是否在双撇号内,都要进行宏替换.F有如下说明:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;那么数值为9的表达式是*(p+8).T共用体变量中起作用的成员是最后一次存放的成员.T在翻开文件时,必须说明文件的使用方式,"wb+"表示以读/写方式翻开一个二进制文件.T1、在C程序中,%是只能用于整数运算的运算符。Y2、假设有inti=10,j=2;那么执行完i*=j+8;后ⅰ的值为28。N3、格式字符%g选用%e或%f格式中输出宽度较长的一种格式输出实数.N4、charc[6]="abcde";printf("%3s",c)表示输出的字段的宽度为3位,如果被输出的数据的位数大于3,只输出3位数.N5、设x=1,y=2,z=3,那么逻辑表达式x-y>z&&y!=z的值为0.Y6、运算符的级别由高向低依次为!->算术运算符->关系运算符->逻辑运算符->赋值运算符.Y7、a=3,b=4,c=5,那么逻辑表达式!(a>b)&&!c||1的值为1.Y8、for循环语句只能用于循环次数确定的情况下.N9、break语句能够终止当前进行的多层循环.N10、for循环的三个表达式都可以省略.Y11、以下程序段是否正确:Ninta[10];....a++;12、定义一维数组的形式为:类型说明数组名[表达式],其中表达式必须是整型常量.N13、字符串"Dalian"在内存中的存储长度是7.N14、数组名作为函数调用时的实参,实际上传递给形参的是数组第一个元素的值.N15、字符处理函数strcpy(str1,str2)的功能是把字符串1接到字符串2的后面.N16、静态局部变量是在编译时被初始化的,故它只被赋初值一次.Y17、被包含文件是在编译时先单独生成目标文件,然后连接到可执行文件中去.N18、假设有inta[10],*p;那么p=&a[0]与p=a等价。Y19、typedef可以定义生成新的数据类型.N20、用fopen("file","r+");翻开的文件"file"可以进行修改。Y1、在C语言中,各种类型的整型数据在内存中都占2个字节。N2、表达式(j=3,j++)的值是4.Y3、格式字符%e以指数形式输出实数数字局部小数位数7位.N4、charc[6]="abcde";printf("%3s",c)表示输出的字段的宽度为3位,如果被输出的数据的位数大于3,只输出3位数.N5、设d=1,e=2,f=3,那么逻辑表达式!(d+e)+f&&e+f*2的值为0.N6、a=1,b=2,c=3,d=4,那么条件表达式a>b?a:(c>d?c:d)的值为4.Y7、a=3,b=4,c=5.那么逻辑表达式a+b>c&&b==c值为0.Y8、do-while循环由do开始,while结束,循环体可能一次也不做。N9、对于for(表达式1;表达式2;表达式3)语句来说,continue语句意味着转去执行表达式2.N10、在do-while循环中,任何情况下都不能省略while.Y11、对静态变量的初始化不是在编译阶段完成的.N12、定义intx[5],n;那么x=x+n;或x++;都是正确的.N13、语句charch[12]={"CProgram"};与语句charch[]="CProgram";具有不同的赋初值功能.Y14、数组名作为函数调用时的实参,实际上传递给形参的是数组第一个元素的值.N15、变量根据其作用域的范围可以分作局部变量和全局变量.Y16、当变量的存储类型定义缺省时,系统默认为变量的存储类型为auto类型,分配在静态区.N17、假设有宏定义:#defineS(a,b)t=a;a=b;b=t由于变量t没定义,所以此宏定义是错误的。N18、设有如下定义:int*p;*p=100;那么printf("%d",p);的输出结果是100.N19、使几个不同的变量共占同一段内存的结构,称为"结构体"类型.N20、在翻开文件时,必须说明文件的使用方式,"wb+"表示以读/写方式翻开一个二进制文件.Y1、在C程序中,%作为运算符时,是只能用于整数运算。T2、假设a=3,b=2,c=1那么关系表达式"(a>b)==c"的值为"真"。T3、格式字符%g选用%e或%f格式中输出宽度较长的一种格式输出实数.F4、整型变量在全部范围内可以用字符格式输出.F5、a=3,b=4,c=5,那么逻辑表达式!(a+b)+c-1&&b+c/2的值为0.F6、语句if(a>b)printf("%d",a);elseprintf("%d",b);可以用条件表达式a>b?a:b取代.F7、a=4,b=2,c=3,d=5,表达式a>b?a:c<d?c:d的值为4.T8、for循环的三个表达式都可以省略.T9、continue语句对于while和do-while循环来说,意味着转去计算While表达式.T10、for语句的循环体至少执行一次.F11、语句charch[12]={"CProgram"};与语句charch[]="CProgram";具有不同的赋初值功能.T12、定义chars[9];gets(s);假设输入的字符串是Turboc↙(↙代表按回车键操作)那么输入给数组s中的字符个数是7.T13、对静态数组的初始化是在编译阶段完成的.T14、C语言中,通过函数调用只能获得一个返回值.F15、字符处理函数strcpy(str1,str2)的功能是把字符串1接到字符串2的后面.F16、函数的返回值可以通过函数中的return语句获得。T17、被包含文件是在编译时先单独生成目标文件,然后连接到可执行文件中去.F18、char*p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。F19、对于不同类型的数据,假设想合成一个有机的整体,可以引用结构体进行定义。T20、用fopen("file","r+");翻开的文件"file"可以进行修改。T假设有定义和语句:inta[3][3]={{3,5},{8,9},{12,35}},i,sum=0;for(i=0;i<3;i++)sum+=a[i][2-i];那么sum=21.1二维数组在内存中存贮时,是按行的顺序进行存储的。1每次调用函数时,都要对静态局部变量重新进行初始化.0在定义宏时,在宏名与带参数的括弧之间不应加空格.1C语言中,在翻开文件时,必须说明文件的使用方式,"r+"用于翻开一个不存在的文件.0设x的值为15,n的值为2,那么表达式x%=(n+=3)运算后x的值是___0__.a=-13,b=6,a%b的十进制数值为___-1__.a=12,写出表达式0<a&&a<2的值是___0__.i=5,写出语句a=(i>5)?0:1;执行后整型变量a的值是__1___.C语言中,数组名是一个不可变的___地址__常量,不能对它进行加减和赋值运算.C语言中一个函数由函数首部和__函数体___两局部组成.设有以下共用体类型说明和变量定义,那么变量c在内存所占字节数是__20___。unionstud{shortintnum;charname[10];floatscore[5];doubleave;}c;在C语言中,关闭文件即是文件指针不再指向该__文件___.C语言中,二维数组在内存中的存放方式为按__行___优先存放.函数调用时的实参和形参之间的数据是单向的__值___传递.调用fopen函数翻开一文本文件,在"使用方式"这一项中,为输入而翻开需填入___r__.结构体是不同数据类型的数据集合,作为数据类型,必须先说明结构体__类型___,再说明结构体变量.1、floati=5.6;inta;写出语句a=(int)i;执行后变量i的值是__5.6___.2、设有intx=11,那么表达式〔x++*1/3〕的值是_3____。3、假设intx=6;那么x+=x-=x*x表达式最后x的值是_-60____.4、设x=2&&2||5>1,x的值为__1___.5、连接字符串的函数是_strcat____,只写函数名即可.6、函数不可以进行嵌套定义,但可以进行嵌套_调用____.7、设有以下结构类型说明和变量定义,那么变量b在内存所占字节数是__21___。structstud{shortintage;charnum[3];floats[2];doubleave;}b,*p;8、假设有fp=fopen("a1.dat","r+")翻开文件语句,这个文件的数据是以_ASCII码____的形式存放在内存中,该文件的使用方式为读/__文本___。1.intx;x=-3+4%-5*3,那么x的值为_____.9【3】2.以下语句输出的结果是_____,unsignedintb=65535;printf("%d",b);-1【3】3.x=5,y=8时,c语言表达式5-2>=x-1<=y-2的值是_____.1【5】4.设x和y均为int型变量,那么以下for循环中的scanf语句最多可执行的次数是_____.3【6】for(x=0,y=0;y!=123&&x<3;x++)scanf("%d",&y);5.连接字符串的函数是_____,只写函数名即可.strcat【7】6.从函数的形式上看,函数分为无参函数和_____两种类型.有参函数【8】7.定义int*p,a[5];将数组a的首地址赋给指针变量p的语句是_____.p=a;p=&a[0];【9】8.设有以下结构类型说明和变量定义,那么变量a在内存所占字节数是_____。34structstud{charname[10];floats[4];doubleave;}a,*p;【10】填空题假设有定义:inta=10,b=9,c=8;接着顺序执行以下语句后,变量c中的值是_____.c=(a-=(b-5));c=(a%11)+(b=3);9以下语句输出的结果是_____,inta=-1;printf("%x",a);(在vc环境下)ffffffff设a=3,b=4,c=4,那么表达式a+b>c&&b==c&&a||b+c&&b==c的值为_____.1以下程序段要求从键盘输入字符,当输入字母为'Y'时,执行循环体,那么下划线处应填写_____.ch=getchar();while(ch____'Y')ch=get

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论