2023年常熟理工学院c语言题库本二_第1页
2023年常熟理工学院c语言题库本二_第2页
2023年常熟理工学院c语言题库本二_第3页
2023年常熟理工学院c语言题库本二_第4页
2023年常熟理工学院c语言题库本二_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

下面选项中,不能用作C语言标记符的是(C)。A._00 B.print C.&b D.FOR下面合法的标记符是(A)。A.IF B.-321 C.cf D.int可以将高级语言编写的源程序转换为目的程序的软件是(D)。A.汇编程序 B.解释程序 C.编辑程序 D.编译程序C语言程序中可以对程序进行注释,注释部分必须用符号(C)括起来。A.“{”和“}” B.“[”和“]”C.“/*”和“*/” D.“*/”和“/*”已有预解决命令“#include<math.h>”和声明“intx=4,y;”,下面语句中语法对的的是(C)。A.if(x%2=1)y=x; B.if(sqrt(x)%2)y=x;C.if(x==1)y=x; D.if(x==1)y=&x;下列运算符中,优先级最低的是(D)。A.* B.!= C.+ D.=逻辑“异或”运算可描述为当且仅当a、b两个操作数中只有一个为真时才为真,其他情况下均为假。下面可以对的表达逻辑“异或”运算的表达式是(D))。A.a||b B.a&&bC.(a&&b)&&!(a||b) D.(a||b)&&!(a&&b)下面关于continue和break语句的叙述中对的的是(B)。A.continue和break语句都可以出现在switch语句中B.continue和break语句都可以出现在循环语句的循环体中C.在switch语句允许出现continue和break语句D.执行循环语句中的continue和break语句都将立即终止循环在while(e)语句中的e与下面条件表达式等价的是(D)。A.e==0 B.e==1 C.e!=1 D.e!=0已有函数fun的定义“voidfun(void){printf("That'sgreat!");}”,则调用fun函数的对的形式是(B)。A.fun; B.fun(); C.fun(void); D.fun(1);设有下列程序段: staticinty=2; voidf2() {staticfloatd=3;…} intx=1; voidf1() {intz=3;…}关于程序段中各变量的属性,下面叙述中错误的是(D)。A.x是全局变量,函数f1可以访问,函数f2不能访问B.y是全局变量,函数f1和函数f2都可以访问C.z是动态变量,函数f1可访问,函数f2不可访问D.d是静态变量,函数f1和函数f2都可以访问已知某编译系统中singedint类型数据的长度是16位,该类型数据的最大值是(A)。A.32767 B.32768 设k=7,x=12,则下列表达式值为3的是(D)。A.x%=(k%=5) B.x%=(k-k%5)C.x%=k-k%5 D.(x%=k)-(k%=5)已有定义“inta[]={5,4,3,2,1},i=4;”,下列对a数组元素的引用中错误的是(B)。A.a[--i] B.a[a[0]] C.a[2*2] D.a[a[i]]己有声明“inta=0,b=l,*p,*q;”,下列对的的语句是(C)。A.a=p; B.b=q; C.p=&a; D.p=&q;C语言中,结构体类型变量在程序执行期间(A)。A.所有成员一直驻留在内存中B.只有一个成员驻留在内存中C.部提成员驻留在内存中D.没有成员驻留在内存中若有定义和声明typedefenum{green,red,yellow,blue,b1ack}color;colorflower;,则下列语句中对的的是(B)。A.green=red; B.flower=red;C.color=red; D.enum=red;在文献包含预解决语句#include的使用形式中,当之后的文献名用双引号括起来时,寻找被包含文献的方式是(C)。A.仅搜索当前目录B.仅搜索源程序所在的目录C.先在源程序所在目录搜索,再按系统设定的标准方式搜索D.直接按系统设定的标准方式搜索目录已有定义“inta[2][3]={0};*p=a[0];”,下面表达式中有语法错误的是(A)。A.a[0]=1 B.p[0]=1 C.*p=1 D.a[0][0]=1下面关于C语言数据文献的叙述中对的的是(D)。A.文献由ASCII码字符序列组成,C语言只能读写文本文献B.文本由二进制数据序列组成,C语言只能读写二进制文献C.文献由记录序列组成,可按数据的存放形式分为文本文献和二进制文献D.文献由数据流序列组成,可按数据的存放形式分为文本文献和二进制文献下面选项中,不能用作C语言标记符的是(C)。A.FOR B._10 C.&h D.print下面合法的标记符是(A)。A.IF B.-412 C.ak D.charC语言源程序的三种基本结构是顺序结构、(B)结构和循环结构。A.递归 B.选择 C.转移 D.嵌套已有定义“floatx=1.23456;inti;”,欲将x中的数值保存小数点后两位,第三位进行四舍五入运算,能实现该功能的表达式是(A)。A.i=x*100+0.5,x=i/100.0 B.x=(x*100+0.5)/100.0C.x=((int)x*100+0.5)/l00.0 D.x=(x/100+0.5)/100.0下面定义符号常量p为3.14中对的的是(D)。A.#definep3.14; B.#definep(3.14)C.#definep=3.14 D.#definep3.14表达式!x等价于(A)。A.x==0 B.x==1 C.x!=0 D.x!=1下面关于if语句和switch语句的叙述中错误的是(D)。A.if语句和switch语句都可以实现算法的选择结构B.if语句和switch语句都能实现多路(两路以上)选择C.if语句可以嵌套使用D.switch语句不能嵌套使用下面关于循环语句for、while、do_while的叙述中对的的是(A)。A.三种循环语句都也许出现无穷循环B.三种循环语句中都可以缺省循环终止条件表达式C.三种循环语句的循环体都至少被无条件地执行一次D.三种循环语句的循环体都必须放入一对花括号中在C语言中while和do-while循环的重要区别是(C)。A.while的循环控制条件比do-while的循环控制条件严格B.do-while允许从外部转到循环体内C.do-while的循环体至少无条件执行一次D.do-while的循环体不能是复合语句若已定义一个有返回值的函数,则下面关于调用该函数的叙述中错误的是(A)。A.函数调用可以作为一个函数形参B.函数调用可以出现在表达式中C.函数调用可以作为一个函数实参D.函数调用可以作为独立的语句存在设有下列程序段: staticinty=2; voidf2() {staticfloatd=3;…} intx=1; voidf1() {intz=3;…}关于程序段中各变量的属性,下面叙述中错误的是(D)。A.x是全局变量,函数f1可以访问,函数f2不能访问B.y是全局变量,函数f1和函数f2都可以访问C.z是动态变量,函数f1可访问,函数f2不可访问D.d是静态变量,函数f1和函数f2都可以访问若有代数式,则不对的的C语言表达式是(C)。A.x/b/c*y*6 B.6*x*y/b/cC.6*x*y/b*c D.x*y/c/b*6已有定义“inti;floatf;”,则下面对的的表达式是(D)。A.(intf)%i B.int(f)%i C.int(f%i) D.(int)f%i已有定义“inta[2][3]”,下面选项中(A)对的地引用了数组a中的基本元素。A.a[1>2][!1] B.a[2][0] C.a[1] D.a已有定义“intm=3,c,*a=&m,*b=&c;”,则下列语句中错误的是(C)。A.a=b=0; B.a=&c,b=a; C.&a=&b; D.*b=*a定义一个结构体变量时,系统分派给它的内存是(A)。A.各成员所需内存总和B.成员中所占内存最多的容量C.结构中第一个成员所占内存的容量D.结构中最后一个成员所占内存的容量已有枚举类型定义“enumletter{E,F,G=7,H,I};”,下面表达式中除(D)外,其他表达式的机内值均等于10。A.'\xb'-1 B.F+I C.010+2 D.0xf-3下面关于宏的叙述对的的是(A)。A.宏定义没有数据类型限制B.宏名必须用大写字母表达C.宏定义必须位于源程序中所有语句之前D.宏调用比函数调用花费时间设有声明语句“intb[3][3]={1,2,3,4,5,6,7,8,9};”,下面语句中不能输出数组元素b[1][2]的值6的是(C)。A.printf("%d",*(*(b+1)+2)) B.printf("%d",*(&b[2][0]-1));C.printf("%d",*(b+1)[2]); D.printf("%d",*(b[1]+2));假如要用fopen()函数打开一个新的二进制文献,该文献要既能读也能写,则文献打开方式应为(A)。A."wb+" B."ab+" C."rb+" D."ab"下面选项中,不能用作C语言标记符的是(C)。A.print B.INT C.&a D._02下面合法的标记符是(A)。A.FOR B.-523 C.nb下面叙述中对的的是(B)。A.C程序的基本组成单位是语句B.简朴C语句必须以分号结束C.C程序中的每一行只能写一条语句D.C程序必须在一行内写完用C语言编写的源程序中,(A)是必不可少的。A.名为main的函数定义 B.#include<stdio.h>C.变量定义 D.注释部分C源程序中的命令#include与#define是在(A)阶段被解决的。A.预解决 B.编译 C.连接 D.执行已有定义“inta=3,b=4,c=5;”,则下列表达式中值为0的是(D)。A.a&&b B.a<=b C.a||b&&c D.!(!c||1)一元二次方程ax2+bx+c=0有两个相异实根的条件是且b2-4ac>0,下面选项中对的的表达式是(C)。A.a!=0,b*b-4*a*c>0 B.a!=0||b*b-4*a*c>0C.a&&b*b-4*a*c>0 D.!a&&b*b-4*a*c>0下面关于语句的说法中对的的是(B)。A.while语句的循环体至少会被执行1次B.do-while语句的循环体至少会被执行1次C.for语句的循环体至少会被执行1次D.在C语言中只能用do、do-while或for语句实现循环结构下面叙述中对的的是(C)。A.break语句只能用于switch语句体中B.continue语句的作用是:使程序的执行流程跳出包含它的所有循环C.break语句只能用在循环体内和switch语句体内D.在循环体内使用break语句和continue语句的作用相同对于C语言函数,下列叙述中对的的是(A)。A.函数的定义不能嵌套,但函数调用可以嵌套B.函数的定义可以嵌套,但函数调用不能嵌套C.函数的定义和调用都不能嵌套D.函数的定义和调用都可以嵌套设有下列程序段: staticinty=2; voidf2() {staticfloatd=3;…} intx=1; voidf1() {intz=3;…}关于程序段中各变量的属性,下面叙述中错误的是(D)。A.x是全局变量,函数f1可以访问,函数f2不能访问B.y是全局变量,函数f1和函数f2都可以访问C.z是动态变量,函数f1可访问,函数f2不可访问D.d是静态变量,函数f1和函数f2都可以访问表达式“'A'+4*25.0-'b'”的对的结果是(B)。A.67 B.67.0 C.不拟定 D.67L存储字符串"\\\'abc\376"需要的字节数是(D)。A.11 B.13 C.6 D.若有数组a和b的声明“staticchara[]="abcdef",b[]={'a','b','c','d','e','f'};”则数组a和数组b的长度分别是(A)。A.7,6 B.6,7 C.6,6 己有声明“inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;”,则不能表达数组a中元素的是(D)。A.*p B.a[6] C.*a D.p[a]C语言中,下列属于构造类型的是(D)。A.整型 B.实型 C.指针类型 D.结构体类型若有枚举类型定义“enumvari{A1,A2,A3,A4=6,A5,A6};”,则枚举常量A2和A6代表的值分别是(B)。A.1,6 B.1,8 C.2,6 下面叙述错误的是(C)。A.宏替换不占用程序运营时间 B.宏名无类型C.宏名必须用大写字母表达 D.宏替换只是字符替换已有定义“inta[2][3]={1,2,3,4,5,6};”,则下列表达式中不能对的引用值为5的数组元素的是(C)。A.*(a[0]+4) B.*(a[1]+1) C.*(*(a+3)+1) D.*(*a+4)若只允许对数据文献abc.txt做一次打开文献操作,修改其中的数据,则打开文献语句应为“fp=fopen("abc.txt",(B));”。A."w+" B."r+" C."a+" D."r"以下叙述中对的的是A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是拟定所用数据结构C)程序设计的任务就是拟定所用算法D)以上三种说法都不完整以下选项中,能用作用户标记符的是A)voidB)8_8C)_0_D)unsigned阅读以下程序#includemain(){intcase;floatprintF;printf(“请输入2个数:”);scanf(“%d%f”,&case,&pjrintF);printf(“%d%f\n”,case,printF);}该程序编译时产生错误,其犯错因素是A)定义语句犯错,case是关键字,不能用作用户自定义标记符B)定义语句犯错,printF不能用作用户自定义标记符C)定义语句无错,scanf不能作为输入函数使用D)定义语句无错,printf不能输出case的值表达式:(int)((double)9/2)-(9)%2的值是A)0B)3C)4D)5若有定义语句:intx=10;,则表达式x-=x+x的值为A)-20B)-10C)0D)10有以下程序#includemain(){inta=1,b=0;printf(“%d,”,b=a+b);printf(“%d\n”,a=2*b);}程序运营后的输出结果是A)0,0B)1,0C)3,2D)1,2设有定义:inta=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是A)if(a>b)c=a,a=b,b=c;B)if(a>b){c=a,a=b,b=c;}C)if(a>b)c=a;a=b;b=c;D)if(a>b){c=a;a=b;b=c;}有以下程序#includemain(){intc=0,k;for(k=1;k<3;k++)switch(k){default:c+=kcase2:c++;break;case4:c+=2;break;}printf(“%d\n”,c);}程序运营后的输出结果是A)3B)5C)7D)9以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是A)if((a>b)&&(b>c))k=1;elsek=0;B)if((a>b)||(b>c)k=1;elsek=0;C)if(a<=b)k=0;elseif(b<=c)k=1;D)if(a>b)k=1;elseif(b>c)k=1;elsek=0;20)有以下程序#includemain(){chars[]={“012xy”};inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]>=’a’&&s[i]<=’z’)n++;printf(“%d\n”,n);}程序运营后的输出结果是A)0B)2C)3D)5有以下程序#includemain(){intn=2,k=0;while(k++&&n++>2);printf(“%d%d\n”,k,n);}程序运营后的输出结果是A)02B)13C)57D)12有以下定义语句,编译时会出现编译错误的是A)chara=’a’;B)chara=’\n’;C)chara=’aa’;D)chara=’\x2d’;有以下程序#includemain(){charc1,c2;c1=’A’+’8’-‘4’;c2=’A’+’8’-‘5’;printf(“%c,%d\n”,c1,c2);}已知字母A的ASCII码为65,程序运营后的输出结果是A)E,68B)D,69C)E,DD)输出无定值有以下程序#includevoidfun(intp){intd=2;p=d++;printf(“%d”,p);}main(){inta=1;fun(a);printf(“%d\n”,a);}程序运营后的输出结果是A)32B)12C)21D)22以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能#defineMIN-intfindmax(intx[],intn){inti,max;for(i=0;i<N;I++)<p=""/>{max=MIN;if(maxreturnmax;}导致错误的因素是A)定义语句inti,max;中max未赋初值B)赋值语句max=MIN;中,不应给max赋MIN值C)语句if(maxD)赋值语句max=MIN;放错了位置有以下程序#includemain(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d,%d\n”,m,n,*p,*q);}程序运营后的输出结果是A)1,2,1,2B)1,2,2,1C)2,1,2,1D)2,1,1,2若有定义语句:inta[4][10],*p,*q[4];且0≤i<4,则错误的赋值是A)p=aB)q[i]=a[i]C)p=a[i]D)p=&a[2][1]有以下程序#include#includemain(){charstr[][20]={“One*World”,“One*Dream!”},*p=str[1];printf(“%d,”,strlen(p));printf(“%s\n”,p);}程序运营后的输出结果是A)9,One*WorldB)9,One*DreamC)10,One*DreamD)10,One*World有以下程序#includemain(){inta[]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){case0:switch(a[i]%2){case0:a[i]++;break;case1:a[i]--;}break;case1:a[i[=0;}for(i=0;i<4;i++)printf(“%d”,a[i]);printf(“\n”);}A)3344B)2050C)3040D)0304结构化程序设计语言编写的程序由三种结构组成:顺序结构、分支结构和。一个完整的C程序可以有多个函数,其中有且只能有一个名为的函数。数学式所相应的C语言表达式为(m,1/3.0)。在调用函数fopen("d:\\b.dat","r")时,若d盘根目录下不存在文献b.dat,则函数的返回值是。执行下面程序段中的语句“k=A*A+1;”后k的值是。#defineB2#defineAB+1k=A*A+1;已有定义“floatm;doublen;inta;longb;charc;”,则表达式m+n*a/m+b/n+c值的类型为。C语言有效的预解决命令总是以开头。已有定义“inta[10],*p=a+3;”,则数组a的最后一个元素是p[]。已有定义“intn=12;doublea;”,则执行语句“a=n/=5;”后,a的值为。若要声明一个类型名STR,使得定义语句STRs等价于char*s,则声明语句是。程序设计语言的发展经历了几个阶段:机器语言、汇编语言和。一个C程序总是从函数开始执行的。已有定义“doublea=5,b=10;”,则计算ab的库函数调用形式是。已有定义“charch='a';”,则表达式ch=ch-'a'+'A'的值为字符的编码。表达“x≥y≥z”的C语言表达式是x>=y。C语言有效的预解决命令总是以开头。常量'\n'的数据类型是。已有定义“intb[10],*p=b,*q;q=&b[5];”,则表达式q-p的值是。在文献中,以符号常量EOF作为文本文献(字符流文献)的结束标记,EOF代表的值是。若要声明一个类型名STR,使得定义语句STRs等价于char*s,则声明语句是。结构化程序设计语言编写的程序由三种结构组成:顺序结构、和循环结构。C语言中除复合语句外的其它所有语句都以结束。已有定义“doublea=10,b=5;”,则计算ab的库函数调用形式是。C语言有效的预解决命令总是以开头。已有定义“chara=1;intb=2;floatc=3;doubled=4;”,则表达式“c=a+b+c+d”值的类型为。用typedef定义一个长度为10的整型数组NUM的语句是。执行下面程序段中的语句“k=A*A+1;”后k的值是。#defineB2#defineAB+1k=A*A+2;已有定义“inta[][4]={1,2,3,4,5,6,7,8,9};”,则数组a第一维的大小是。程序中已使用预解决命令“#include<stdio.h>”,为使语句“fp=fopen("asc.txt","r");”能正常执行,在该语句之前必须有定义FILE;。执行“printf("%d,%d",a,b,c,d);”后在屏幕上将输出个整数。C语言中除复合语句外的其它所有语句都以(分号)结束。数学式所相应的C语言表达式为pow(m,(1/3.0))。判断字符变量c是英文字母的表达式是(c>='a'&&c<='z'||c>='A'&&c<='Z')。一个C程序在运营时,假如没有发生任何异常情况,则只有在执行了(main)函数的最后一条语句或该函数中的return语句后,程序才会终止运营。已有定义“intr=3;”,则执行语句“printf("%d",sizeof(2*3.14159*r));”时输出(8)。若二维数组a有n列,则在存储该数组时,a[i][j]之前有(i*n+j)个数组元素。已有定义“charch1[10]="abcdef",ch2[10]="a\\0";”,则执行语句“printf("%d",strlen(strcpy(ch1,ch2)));”的输出结果是(3)。结构类型的每个成员的数据类型可以是基本数据类型,也可以是(构造)类型。若已有定义“enumABC{A,B,C};”,则执行语句“printf("%d\n",A+2);”后输出结果是(2)。已知数据文献abc.dat是通过执行下列程序建立的,若在另一个程序运营时需要从该数据文献中对的读取数据,则对的的读文献库函数的函数名是(fread)。#include<stdio.h>intmain(){FILE*fp=fopen("abc.dat","wb");floatx=25.0;fwrite(&x,sizeof(float),1,fp);fclose(fp);return0;}C语言没有提供用于数据输入及输出的语句,所有的输入与输出都是通过系统提供的()来实现的。已有定义“floatx=3.14159;intn;”,则计算表达式“n=x*100+0.5,x=n/100.0”后x的值是()。已有定义“charch;intb;”执行语句“scanf("%c%d",&ch,&b);”时假如从键盘输入的数据是“110”,则变量b得到的值是()。若一个函数不需要形参,则在定义该函数时,应使形式参数表为空或放置一个()。若在某个C编译系统中,假如一个变量能对的存储的数据范围为整数-32768~32767,则该变量在内存中占()字节。系统库函数scanf和gets在被调用执行时都可以读取从键盘输入的一串数字字符,其中函数()具有将读取的数字字符串转换为整型数的功能。已有定义“inta[3][2]={{6,5},{4,3},{2,1}},*p=a[1];”则执行语句“printf("%d\n",*(p+2));”后的输出结果是()。若程序中已经声明了一个结构类型以及结构变量,则访问该结构变量成员的形式是()。若已有定义“enumABC{A,B,C};”,则执行语句“printf("%d\n",A+1);”后输出结果是()。下列程序段的输出是()。char*a[2]={"one","two"},**p=a;printf("%s,",*(p++)+1); printf("%c\n",**p-1);结构化程序设计语言编写的程序由三种结构组成:顺序结构、分支结构和(循环结构)。已有定义“doublen;”,则数学公式“”相应的C语言表达式是(3.0/4*n*(4*power(n,2)-1))。已有定义“intm=2,n=3;”,则执行表达式“(m>n)&&(--m>0)”后m的值为(2)。变量的值在函数调用结束后仍然保存,以便下一次调用该函数时使用,可以将局部变量定义为(static)类型。数学式所相应的C语言表达式为(sqrt(a*a+b*b)/(a+b))。若有表达式为(x)op(y),其中op代表运算符,x、y代表操作数。若op是“+”运算符,且x和y均为常量时,不能同时为(字符串)常量。已有定义“char*s="%d,%d\n";inta=2,b=3;”,则语句“printf(s,a,b);”的输出结果是(2,3)。使用sizeof()函数计算结构structList的长度的表达式是(sizeof(structList))。若已有定义“enumABC{A,B,C};”,则执行语句“printf("%d\n",B+1);”后输出结果是(2)。下列程序段的输出是(7,-13)。#defineF(x)x-2#defineD(x)x*F(x) printf("%d,%d",D(3),D(D(3)));题目:本程序的功能是:以每行5个的格式输出2~2023之间满足下列条件的数:(1)该数是素数;(2)从个位开始依次去掉一位数字后的数仍然是素数。例如,233是素数,23和2仍然是素数,则233满足条件。改正程序中的错误。注意:不能增长、删除语句,但可以调换语句的位置。【具有错误的程序代码】(1)#include<stdio.h>(2)intprime(intn) /*判断n是否为素数的函数*/(3){ inti;(4) for(i=

温馨提示

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

评论

0/150

提交评论