C语言程序设计(商洛学院)智慧树知到期末考试答案章节答案2024年商洛学院_第1页
C语言程序设计(商洛学院)智慧树知到期末考试答案章节答案2024年商洛学院_第2页
C语言程序设计(商洛学院)智慧树知到期末考试答案章节答案2024年商洛学院_第3页
C语言程序设计(商洛学院)智慧树知到期末考试答案章节答案2024年商洛学院_第4页
C语言程序设计(商洛学院)智慧树知到期末考试答案章节答案2024年商洛学院_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计(商洛学院)智慧树知到期末考试答案+章节答案2024年商洛学院条件运算符?和:是一对运算符,不能分开单独使用。()

答案:对C语言中普通字符型变量在内存中占1个字节。()

答案:对要使用printf函数输出字符“%”,需要在格式控制字符串中用连续两个%来表示。()

答案:对在赋值运算中,赋值号两边的数据类型不同时,赋值号右边的类型将自动转换为左边变量的类型。()

答案:对若a为整型变量,则语句scanf(″%d″,a);是合法的。()

答案:错二元运算符(如+、-)均可和赋值运算符构成复合赋值运算符。()

答案:对a=b+c=1是正确的赋值表达式()

答案:错#defineN10定义了一个值为10的变量N。()

答案:错有定义:floatx,*p=&x;是否正确?()

答案:对空语句可以用来作为循环语句中的循环体语句。()

答案:对在赋值表达式中,赋值运算符=的左边可以是表达式,例如a+b=5。()

答案:错变量的三要素是:变量名、变量类型、变量的值。()

答案:对如果形参与实参的类型不一致,以实参类型为准。()

答案:错可以用swicth结构实现的程序都可以使用if语句来实现。()

答案:对自增,自减运算符既可以用于变量又可用于常量和表达式。()

答案:错语句printf("%3s","CHINA");的输出结果是CHI()

答案:错在逻辑表达式的求解中,并不是所有的逻辑运算都被执行。()

答案:对若a为float变量,则语句scanf("%7.2f",&a);是一个合法的scanf函数。()

答案:对C语言中多个以“;”结束的语句不能放在同一行。()

答案:错变量可以先使用后定义。()

答案:错执行语句inta=2;if(a=3)b=1;后b的值是1。()

答案:对下列合法的转义字符常量是【】。

答案:‘\r’;‘\t’;‘\n’设已定义chars[9]="xinjiang"和inti,则下面的输出函数调用中正确的是【】。

答案:printf("%s",s);;puts(s);;for(i=0;i<9;i++)printf("%c",s[i]);下列说法正确的是【】。

答案:C语言中空语句是合法的;在C程序中,声明变量时为变量开辟内存空间;静态变量的生存期与整个程序的运行期相同;C语言中变量必须先说明后引用设有语句floatave(inta[10]);floatf;intw[10];则正确的函数调用形式是【】。

答案:f=ave(w);;printf('%f',ave(w));以下用户标识符,其中合法的是【】。

答案:f2_G3;abc以下可以定义为用户标识符的有【】。

答案:_3com_;scanf下列对逻辑运算符两侧的运算对象的数据类型描述不正确的是【】。

答案:只能是0或非0正数;只能是0或1;可以是任何类型的数据下列整型常数表示正确的是【】。

答案:0123;123u;0x123;123L下列属于基本数据类型的是【】。

答案:char;float;int;double以下关于typedef的叙述正确的是【】。

答案:使用typedef便于程序的通用;用typedef只是将已存在的类型用一个新的名字来代表;用typedef可以定义各种类型名,但不能用来定义变量函数的类型可以是【】。

答案:double;void;int;int*设有以下定义:inta=0;doubleb=1.25;charc='A';#defined2则下面语句中正确的是【】

答案:b++;a++;c++对do-while语句描述正确的是【】。

答案:do-while语句构成的循环可以使用break语句退出循环;do-while语句构成的循环,当while中的表达式值为零时结束循环执行下面的程序时,将1、2、3、4分别赋给a、b、c、d,正确的输入是【】。#includemain(){inta,b,c,d;

scanf("%d,%d,%d%d",&a,&b,&c,&d);

…}

答案:1,2,3

4设x和y均为int型变量,则以下语句:x=x+y;y=x-y;x=x-y;的功能是【】。

答案:交换x和y中的值以下程序的输出结果是【】。

#include

main(){

inta=1,b=2,c=3;

printf(“%d”,c>b>a);

}

答案:0下面有关for循环的正确描述是【】。

答案:for循环体语句中,可以包含多条语句,但要用花括号括起来下列选项中,不能用作标识符的是【】。

答案:2_int设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是【】。

答案:p2=c在C语言程序中,表达式5%2的结果是【】。

答案:1若定义有:int*p,str[]={1,2,3,4,5,6,7,8,910};下列写法中不合法的是【】。

答案:p=&str;转换说明符%x的输出形式是【】。

答案:十六进制设整型变量m,n,a,b,c,d均为1,执行(m=a>b)&&(n=c>d)后,m,n的值是【

】。

答案:0,1以下选项中,不正确的C语言浮点型常量是【】。

答案:2e4.2有以下程序:#includemain(){intn=2,k=0;while(k++&&n++>2);

printf("%d%d\n",k,n);

}

程序运行后的输出结果是【】。

答案:12在C语言中,函数的数据类型是指【】。

答案:函数返回值的数据类型能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是【】。

答案:a>=10‖a<=0为了判断两个字符串s1和s2是否相等,应使用【】。

答案:if(strcmp(s1,s2)==0)自增、自减运算符既可用于变量,又可用于常量和表达式。

答案:错continue语句break语句都可以提前终止循环的执行,二者作用相同。()

答案:错break语句仅能使用在switch结构中()

答案:错C语言中标识符是区分大小写的。()

答案:对C语言中,字符数据用格式说明"%s"来输出,字符串数据用格式说明"%c"来输出。()

答案:错静态(static)类别变量的生存期贯穿于整个程序的运行期间。()

答案:对使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成。()

答案:对C语言中,else总是与它上面、最近的、尚未配对的if配对。()

答案:对外部类型的变量作用范围大,编程中应多用外部变量。()

答案:错C语言源程序文件经过编译可得到目标文件。()

答案:对C语言的数据类型只有int型、float型、char型。()

答案:错用标识符来表示的常量称为符号常量。()

答案:对表达式′a′<′z′的值是1。()

答案:对C语言中,在表示逻辑运算结果时,以数值1代表“真”,以0代表“假”。()

答案:对下列运算符中右结合的是【】。

答案:++;+;!以下4个选项中,可以看作是一条语句的有【】。

答案:{;};if(a>0);a=0,b=0,c=0;以下不符合C语言语法的实型常量是【】。

答案:1.2E0.5;3.14.159E;E15以下描述正确的是【】。

答案:while循环是先判断表达式,后执行循环语句;for,while和do-while循环中的循环体均可以由空语句构成;使用while和do-while循环时,循环变量初始话的操作应在循环体语句之前完成把字符串"hello"赋给数组b的语句是【】。

答案:charb[10];strcpy(b,"hello");;charb[]="hello";以下对二维数组a进行正确初始话的是【】。

答案:staticcharword[]={"Turbo"};;;staticcharword[]="Turbo";;若a,b,c,d都是int型变量且初值为0,以下选项中正确的赋值语句是【】。

答案:d++;d=(c=22)-(b++);a=b=c=d=100关系表达式的结果可以是【】。

答案:0下列关于"switch(表达式)"语句说法正确的是【】。

答案:switch语句中的每个case子句的常量表达式的值必须互不相同;switch语句是多分支语句;switch语句中允许有一个default子句,也可以没有;switch后的(表达式)允许是任何类型以下对二维整形数组a的正确定义是【】。

答案:inta[

][4];在数组中,数组名表示【】。

答案:数组第1个元素的首地址为了避免嵌套的if-else语句的二义性,C语言规定else总是与【】组成配对关系。

答案:在其之前最近的if在C语言中,每个语句必须以【】结束。

答案:分号在C语言中,有关函数的说法,以下正确的是【】。

答案:函数不可嵌套定义,但可嵌套调用在循环中使用break语句的功能是【】。

答案:使程序的执行跳出break所在的那一重循环若有定义:inta[2][3],则对a数组的第i行第j列元素地址的正确引用为【】。

答案:*(a[i]+j)以下程序的输出结果是【】。

#include

main()

{inta=5,b=4,c=6,d;

printf("%d",d=a>b?(a>c?a:c):b);

}

答案:6下面是有关C语言字符数组的描述,其中错误的是【】。

答案:字符数组只能存放字符串C语言中【】。

答案:do-while语句构成的循环,当while语句中的表达式值为零时结束循环以下不是关键字的是【】。

答案:If有以下程序:

#include

#definef(x)x*x*x

main()

{inta=3,s,t;

s=f(a+1);t=f((a+1));

printf("%d,%d\n",s,t);}程序运行后的输出结果是【】。

答案:10,64已知staticinta[]={5,4,3,2,1},*p[]={a+3,a+2,a+1,a},**q=p,则表达式*(p[0]+1)+**(q+2)的值是【】。

答案:5下列关于C语言的说法错误的是【】。

答案:C语言不区分大小写。将int型变量n转换成float型变量的方法是【】。

答案:(float)n下列关于C语言文件的叙述中正确的是【】。

答案:文件由数据序列组成,可以构成二进制文件或文本文件逻辑运算符“!”的优先级高于算术运算符和关系运算符。()

答案:对switch语句中,case语句后如没有break,则顺序向下执行。()

答案:对关系运算符“<=”和“==”的优先级相同。()

答案:错C语言中“//”之后的注释内容可以跨行书写。()

答案:错只有在a为真(非0)时,表达式a&b才需要判断b的值。()

答案:对do-while循环中,根据情况可以省略while。()

答案:错全局变量的作用域一定比局部变量的作用域范围大。()

答案:错一个C程序可以由多个源文件组成。()

答案:对C程序一行只能写一个语句。()

答案:错若有以下程序段,并且w和k都是整型变量:for(w=1;w<=k;w++)printf("*");则与上面程序段等价的循环语句是【】。

答案:for(w=k;w;--w)printf("*");w=k;;w=k;do{w--;printf("*");}while(w!=0);;w=k;while(w--!=0)printf("*");;for(w=k;w!=0;w--)printf("*");下列语句能够求出1+2+3+...+100的和的语句是【】。

答案:for(i=1,sum=0;i<=100;sum+=i,i++);;i=1;sum=0;for(;i<=100;i++)sum+=i;下列关于符号常量正确的是【】。

答案:符号常量没有值和类型的含义;符号常量用标识符表示;#defineN10已定义c为字符型变量,则下列语句中错误的是【】。

答案:c="a";;c="97";;c='97';下列语句正确初始化的是【】。

答案:charstr[4]={97,98,99,100};;charstr[4]={'a','b','c','d'};;charstr[]="abcd";以下叙述中正确的是【】。

答案:C源程序的基本组成单位是函数;一个C源程序必须包含一个main()函数;一个C源程序可由一个或多个函数组成下列运算符中优先级最高的是【】。

答案:%已知for(;n>=1;n--),下列语句实现将S2所指字符数组中前n个字符复制到S1所指字符数组中,其中代码不正确的是【】。

答案:*(++S1)=*(++S2)由系统分配和控制的标准输出文件为【】。

答案:显示器与十进制511等值的十六进制数为【】。

答案:1FFC语言中,当复合语句多于一条时,要有一对【】括起来。

答案:花括号若程序中有宏定义行:#defineN100则以下叙述中正确的是【】。

答案:在编译程序对C源程序进行预处理时用100替换标识符N以下选项中,【

】是不正确的C语言字符型常量。

答案:''a''以下用户标识符中,合法的是【】。

答案:_0_表达式′c′&&′d′的值为0。()

答案:错C语言中允许同一行内书写多个语句。()

答案:对函数调用可以出现在表达式中。()

答案:对#include命令不能包含用户自己建立的头文件。()

答案:错下列格式控制字符中能够输出整型数据的是【】。

答案:%ld;%d;%lo;%x以下对C语言中的函数描述不正确的有【】。

答案:嵌套定义和嵌套调用都不允许;可以嵌套定义,不可以嵌套调用;可以嵌套定义,也可以嵌套调用有以下程序#includemain(){charc1,c2;

c1='A'+'8'-'4';

c2='A'+'8'-'5';

printf('%c,%d',c1,c2);}程序运行后的输出结果是【

】。

答案:E,68以下正确的叙述是【】。

答案:对一个C语言进行编译预处理时,可检查宏定义的语法错误设有定义:chars[12]="shangluo";则printf("%d\n",strlen(s));的输出是【】。

答案:8表达式20/4*sqrt(4.0)/4值的数据类型是【】。

答案:double在C语言中,字符型数据在内存中的存储形式是【】。

答案:ASCII码若要用fopen()函数打开一个新的二进制文件,该文件要既能读也能写,则文件存取方式字符串应是【】。

答案:″wb+″以下定义语句中不正确的是【】。

答案:chara='A'b='B';未在定义语句中赋初值的auto变量和static变量的初值都是随机值。()

答案:错在执行语句scanf("%d,%d",&a,&b);时,正确的数据输入形式是3,4。()

答案:对a>b==c等价于(a>B)==c。()

答案:错定义函数时,形参的类型说明可以放在函数体内()

答案:错关系运算符的优先级高于逻辑运算符(不包括!)。()

答案:对以下不合法的赋值语句是【】。

答案:c=int(a+B);;x=y=100;x+y;局部变量的存储类型可以是【】。

答案:auto;register;static以下选项中不合法的字符常量是【】。

答案:D;68;"B"C语言中最简单的数据类型包括【】。

答案:整型、实型、字符型若指针px为空指针,则【】。

答案:px的值为零若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b)printf('------------');的正确说法是【】。

答案:循环体一次也不执行若y是整型变量,pb是整型的指针变量,则正确的赋值表达式是【】。

答案:pb=&y下述是C语言中有关变量定义的几个说法,正确的是:【】。

答案:变量可以在定义时进行初绐化设有inta;floatf=5.75;在执行语句a=(int)f;后,f变成了int型。()

答案:错′5′于5是一样的。()

答案:错若已定义的函数有返回值,函数调用可以作为一个函数的形参()

答案:错在结构化程序设计中,循环结构就是无休止地反复执行某一部分的操作。()

答案:错如果赋值运算符两边的数据类型不一致,在赋值时要进行类型转换。()

答案:对以下合法的十六进制数是【】。

答案:0x01;0Xabc在定义inta[2][3];之后,对a的引用正确的有【】。

答案:a[0][2];a[1>2][!1]执行程序段后的输出结果是【】。inta=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf("%d%d%d",k,a,b);

答案:004C语言规定,必须用【】作为主函数名。

答案:mainif语句的嵌套是指在if语句中又包含一个或多个if语句。()

答案:对下列语句定义数组正确的是【】。

答案:intarr[3][4];;inta[2+9];对于语句int*px[10],以下说法正确的是【】。

答案:px是一个数组,其数组的每一个元素是指向整数的指针。对两个字符数组a和b进行初始化chara[]="ABCDEF";charb[]={'A','B','C','D','E','F'};则以下叙述正确的是【】。

答案:a数组比b数组长度长若已定义x和y为double类型,则表达式x=1,y=x+9/4的值是【】。

答案:3;3x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是【】。

答案:scanf("%d%d%d",&x,&y,&z);以下选项中不是C语言合法整数的是【】。

答案:x2a2;0386有定义语句:intx,y;若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的有【】。

答案:11,12;11,12;11,12设charch='A';则ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是【】。

答案:a为了避免在嵌套的条件语句if―else中产生二义性,C语言规定:else子句总是与【】配对。

答案:其之前最近的if在所有运算符中,逗号运算符的优先级最低。()

答案:对下列选项中是C语言合法标志符的有【】。

答案:good_morning;main以下不正确的描述是【】。

答案:do-while和for循环均是先执行循环体语句,后判断表达式以下程序的输出结果是(

)。#includevoid

main(){int

a=10,b=10;

printf("%d,%d",a--,++b);}

答案:10,11若有inti=10,j=0;则执行完语句if(j=0)i++;elsei--;i的值为11。()

答案:错设有定义:inta,*pa=&a;以下scanf语句中能正确为变量a读入数据的是【】。

答案:scanf("%d",pA)若有以下说明:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是【】。

答案:*(p+5)有说明:char*language[]={"FORTRAN","BASIC","PASCAL","JAVA","C"};则表达式*language[1]>*language[2]比较的是【】。

答案:字符B和字符P以下4个字符串函数中,【】所在的头文件与其他3个不同。

答案:putsC语言标准库函数fread(fd,buffer,n)的功能是【】。

答案:从文件fd中读取长度不超过n个字节的数据送入buffer指向的内存区域'A'+3的结果是【】。

答案:'D'的ASCⅡ码条件运算符?和:是一对运算符,不能分开单独使用。()

答案:对(int)x+y的作用是把x+y的结果转换成整型。()

答案:错字符型数据可以和整数数据一起进行算术运算。()

答案:对函数的实参和形参可以同名,但代表不同存储单元。()

答案:对在int型和long型数据进行运算时,系统先把long型数据转换成int型后再进行运算。()

答案:错若有定义语句:doublea,*p=&a;定义语句中的*号是一个地址运算符,这种说法是否正确?()

答案:错for循环表达式的括号内的3个表达式均可以省略。()

答案:错后缀为f或F的数为浮点数。()

答案:对函数的实参和形参可以使用相同的名字。()

答案:对语句if(a=5)printf("%d",a);是合法的。()

答案:对用putchar函数可以输出能在屏幕上显示的字符,也可以输出屏幕控制字符及其他转义字符。()

答案:对C语言中构造类型包括数组、结构体、共用体类型。()

答案:对在switch语句中,每一个的case常量表达式的值可以相同。()

答案:错do一while循环由do开始,用while结束,在while(表达式)后面不能写分号。()

答案:错C语言中/*、*/之间的注释内容可以跨行书写。()

答案:对表达式1\4*3的值是0.75。()

答案:错如果函数strcmp(s1,s2)的返回值为一个负数,则表明字符串s1一定小于字符串s2。()

答案:对在C语言中,常数045跟45等值。()

答案:错if语句不可以嵌套。()

答案:错在赋值运算中,类型转换是由系统自动进行的。()

答案:对程序中的“=”是赋值号,与数学中等号的功能相同()

答案:错continue语句的作用是使程序的执行流程跳出包含它的所有循环()

答案:对字符变量可以不定义直接使用。()

答案:错continue语句的作用是结束整个循环的执行。()

答案:错在do一while循环体中,一定要有能使while后表达式值变为零("假")的操作()

答案:对表达式1/4*3的值是0.75。()

答案:错有如下程序段:inti,j=2,k,*p=&i;k=*p+j;*p+j等价于i+j。()

答案:对空语句可以用来作流程的转向点,即流程从程序其他地方转到此语句处。()

答案:对注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。()

答案:对在程序段:inti,j=2,k,*p=&i;k=*p+j;中出现的两个“*”号,含义相同。()

答案:错for、while、do-while循环中的循环体均可以由空语句构成。()

答案:对整型变量X和Y的值相等,且为非0值,以下选项中,结果不为0的表达式是【】。

答案:X|Y;X&Y;!X==!Y;X||Y以下选项中合法的表达式是【】。

答案:0<=x<100;(char)(65+3);i=j==0下列不合法的字符常量是【】。

答案:''B'';B下列合法标识符是【】。

答案:a3_b3;WORD下列属于双目运算符的是【】。

答案:>>;+=;>以下对switch语句和break语句中描述错误的有【】。

答案:在switch语句中必须使用break语句;break语句是switch语句的一部分;break语句只能用于switch语句以下叙述正确的是【】。

答案:在程序中凡是以"#"开始的语句行都是预处理命令行;预处理命令行都必须以"#"开始;#defineABCD是正确的宏定义在下列选项中,构成死循环的程序段是【】。

答案:for(i=1;;i++);;ints=36;while(s);--s;;for(;;);inti=100;while(1){i=i%100+1;if(i>100)break;}以下正确的if语句形式是【】。

答案:if(x>y&&x!=y);;if(x;if(x==y)x+=y;以下关于数组描述错误的是【】。

答案:数组的大小是固定的,但可以有不同的类型的数组元素;数组的大小是可变的,但所有数组元素的类型必须相同;数组的大小是可变的,可以有不同的类型的数组元素下列属于程序控制语句的是【】。

答案:returnn;;while(x>0)x--;;if(a>B)t=a;;inta;可以不要进行函数原型声明的函数是【】。

答案:被调用函数定义的位置在调用函数之前;主函数main()以下选项中,合法的字符常量是【】。

答案:\xaa';\17';'\t'下列不合法的实型常量有【】。

答案:1.3E;5E2.0;E-3逻辑运算符要求的运算量可以是【】。

答案:零值;数值表达式;非零值;关系表达式若以下选项中的变量已正确定义,则不正确的赋值语句是【】。

答案:x4=1+2=3;;x1=26.8%3下列正确的赋值语句是【】。

答案:y=a>b?a:b;;n=(i2,i++);;x=j>0;关于数组说法正确的是【】。

答案:数组的各个元素在内存中是连续存放的;C编译系统对数组下标是否越界不做检查;数组的下标从0开始以下描述错误的是【】。

答案:从多重循环嵌套中退出是,只能使用goto语句;在循环体内使用break语句和continue语句的作用相同C语言提供的逻辑运算符有【】。

答案:!;||;&&要为字符型变量b赋初值,下列语句中哪一个是正确的【】。

答案:charb='3';有以下程序段#includemain(){intk=0;while(k=1)k++;}则while循环执行的次数是【】。

答案:无限次以下4组用户定义标识符中,全部合法的一组是【】。

答案:_totalclu_1sum定义一个结构体变量时系统分配给它的字节单元数是【】。

答案:各结构体成员所需字节单元数的总和调用函数的实参与被调用函数的形参应有如下关系【】。

答案:其余三点均应具备在C语言中,引用数组元素时,其数组下标的数据类型允许是【】。

答案:整型常量联合体成员的数据类型【】。

答案:可以不同也可以相同下面是一个初始化指针的语句:int*px=&a;其中指针变量的名字应该是【】。

答案:px下面标识符中,合法的用户标识符为【】。

答案:_int假定int型的变量要占用4个字节,有定义intx[10]={0,2,4};则数组x在内存中所占字节数是【】。

答案:40若有以下程序段,intc1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是【】。

答案:0.5语句charstr[20];说明str是一个字符串,最多能表示【】。

答案:19个字符下面描述正确的是【】。

答案:字符串所包含的字符个数相同时,才能比较字符串设有说明语句“structstu{inta;floatb;}stutype;”,则叙述不正确的是【】。

答案:a和b都是结构体变量在C语言中,表示静态存储类别的关键字是【】。

答案:static若有以下定义和赋值语句,则对b数组的第i行第j列(假设i,j已正确说明并赋值)元素的非法引用为【】。intb[2][3]={0},(*p)[3];p=b;

答案:(p+i)+j设有下面的程序段:chars[]="china";char*p;p=s;则下列叙述正确的是【】。

答案:s数组长度和p所指向的字符串长度相等设a=1,b=2,c=3,d=4,则表达式:a

答案:1下面是对数组a的初始化,其中不正确的是【】。

答案:chara[5]="ABCDE";若x、y、z均为int型变量,则执行下列语句后的z值为【】。x=1;y=2;z=3;z=(x>y)?z:y;z=(z答案:1~运算符的优先级低于算术运算符,高于关系运算符、逻辑运算符。(

答案:错位运算的运算量可以是整型、字符型或实型数据。(

答案:错要将一个存储单元i清零,可以实施如下运算:i&0。(

答案:对将一个数左移一位,相当于该数乘以2;右移一位相当于除以2。(

答案:错请读程序片段:

charx=56;x=x&056;

printf(“%d,%o\n”,x,x)

以上程序片段的输出结果是(

)

答案:40,50设int

b=2;表达式(b>>2)/(b>>1)的值是(

)

答案:0设char型变量x中的值为10100111,则表达式(2+x)^(~3)的值是(

)

答案:01010101整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是(

)

答案:x^y表达式a答案:~,<,&,||若有以下程序段:

int

x=1,y=2;

x=x^y;

y=y^x;

x=x^y;则执行以上语句后x和y的值分别是

答案:x=2,y=1有如下程序段int

a=14,b=15,x;char

c=‛A’;x=(a&&b)&&(c<‛B’);执行该程序段后,x的值为(

)

答案:1设有以下语句:

charx=3,y=6,z;

z=x^y<<2;

则z的二进制值是(

)

答案:00011011语句:printf("%d\n",12&012);的输出结果是(

答案:8对已打开的文件进行输入输出操作是通过指向该文件结构的指针变量进行的。(

答案:对gets函数的功能是从文件指针所指向文件中读取一个字符。(

答案:错C语言中文件可以顺序存取,也可随机存取。(

答案:对只有通过文件,才能进行大量的原始数据的输入和保存,这些数据甚至可能远远超过内存容量。(

答案:对对设备文件的输入输出操作就是读写设备文件的过程。(

答案:对C语言文件操作函数fread(buffer,size,n,fp)的功能是(

)

答案:从文件fp中读n个大小为size字节的数据项存入buffer中从操作系统的角度来看,键盘和打印机是输出文件。(

答案:错如果希望向文本文件末尾添加数据,则应以(

)方式打开文件。

答案:"a"若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是(

)

答案:非零值语句fp=fopen("file1","r");表示(

答案:打开文件file1,可从该文件输入数据语句FILE*fp;定义了一个指向(

答案:FILE类型的指针变量若要用fopen函数建一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应该为(

)

答案:"wb+"下列关于C语言数据文件的叙述中正确的是(

答案:文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件C语言把文件看作是一个(

)的序列。

答案:字符fwrite函数的一般调用形式是(

答案:rite(buffer,size,count,fp);有以下程序段,输出结果为()。#includestructstudent{intnum;charname[20];floatscore;};main(){structstudentstu[5];printf("%d",sizeof(stu));}

答案:140有枚举定义enumsex{m,f}stu;能够正确赋值的是()。

答案:stu=f有以下程序段,输出结果为()。#include

struct

s{

int

a;

char

b;

double

f;};

main()

{printf("%d",sizeof(struct

s));

}

答案:16以下程序段的运行结果为()。#includeuniondata{inti;charch;floatf;};main(){uniondataa;a.i=98;a.ch='B';printf("%d",a.i);}

答案:66有新类型名声明typedefintNum[10];以下各项中与inta[10]含义相同的是()。

答案:Numa有以下共用体声明,赋值错误的是()。uniondata{inti;charch;floatf;}

答案:uniondataa={97,'b',1.5};有以下程序段,输出结果为()。#includestructperson{charname[20];intcount;}leader[3]={"Li",0,"Zhang",0,"Sun",0};main(){printf("%s",leader[1].name);}

答案:Zhang有结构体声明如下,成员next是一个指针,指向对象的类型是()。structnode{charch;structnode*next;};

答案:node以下程序段,在空白处填写()能使程序正确运行并输出结果。#includestructstudent{longnum;charname[10];charsex;floatscore;};main(){structstudentstu={10101,"lili",'m',89.5},*pt;

printf("%.2f",pt->score);}

答案:pt=&stu;有如下结构体定义,能够正确引用结构体的是()。structstudent{longnum;charname[10];charsex;intage;floatscore;}stu;

答案:stu.age=20在以下程序段的空白处填入(),能够使程序正确运行。#includeintsum(intx,inty){returnx+y;}main(){inta=3,b=5,c;

p=sum;c=(*p)(a,b);printf("%d",c);}

答案:int(*p)(int,int);有以下程序段,输出结果为()。#includemain(){inta[10]={11,32,43,25,16,71,24,23,80,44};int*p=a;int*s,;s=p+2;

printf("%d,%d",*p,*s);}

答案:11,43有以下程序段,输出结果为()。#includemain(){inta=10,*p,**q,***s;p=&a;q=&p;s=&a;printf("%d,%d,%d",*p,**q,***s);}

答案:语法错误有以下程序段,在空白处填入(),可以使程序正确运行。#includeint

(intx,inty){if(x>y)return&x;elsereturn&y;}main(){inta=3,b=5,*p;p=f(a,b);printf("%d",*p);}

答案:*f有以下程序段,输出结果为()。#includevoidswap(int*p1){intb=20;p1=&b;}main(){inta=10,*pa;pa=&a;swap(pa);printf("%d,%d",a,*pa);}

答案:10,10在以下程序段的空白处填入(),能够正确输出teacher。#includemain(){char*p[3]={"student","teacher","classroom"};printf("%s",

);}

答案:*(p+1)有以下程序段,输出结果为()。#includemain(){inta[10]={5,10,15,20,25,30,35,40,45,50};int*p=a;int*s,m;s=p++;m=*p++;

printf(“%d,%d,%d”,*p,

*s,m);}

答案:15,5,10指针变量是把内存中另一个数据的()作为其值的变量。

答案:地址有以下程序段,输出结果为()。#includemain(){inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

int(*p)[4]=a;printf("%d\n",*p);}

答案:随机值在宏定义#definePI3.l4l59中,如果将1误输成小写的L,则编译时不出错,运行时出错。(

答案:对下列程序的输出结果是(

)#includeintabc(intu,intv){

intw;while(v){

w=u%v;u=v;v=w;

}returnu;}main(){

inta=24,b=16,c;c=abc(a,b);printf("%d\n",c);}

答案:8函数调用可以在(

答案:函数参数中形参只有在被调用时才分配存储空间。(

答案:对以下不正确的叙述是(

答案:宏名必须用大写字母表示在源程序的一个文件中定义的全局变量的作用域是(

答案:从定义该变量的位置开始至该文件的结束全局类型的变量作用范围大,因此编程中应尽量使用全局变量,少使用局部变量。()

答案:错形参可以是常量、变量或表达式。(

答案:错C语言的编译系统对宏命令的处理(

答案:在对源程序中其它语句正式编译之前进行的调用函数只能得到一个返回值,而用宏可以得到几个结果。(

答案:错宏替换时先求出实参表达式的值,然后代入形参运算求值。(

答案:错一个C语言程序总是从(

)开始执行的。

答案:主函数main若用数组名作为函数调用的实参,传递给形参的是(

答案:数组的首地址为了判断两个字符串s1和s2是否相等,应使用(

答案:if(strcmp(s1,s2)==0)以下4个字符串函数中,与其他3个所在的头文件不同是(

)

答案:strcmp调用函数的实参与被调用函数的形参应有如下关系(

答案:上述三点均应具备在C语言中,有关函数的说法,以下正确的是(

答案:函数不可嵌套定义,但可嵌套调用以下叙述中正确的是(

答案:宏定义可以嵌套定义,即在宏定义中的字符串可以引用另一个宏定义的标识符。关于函数声明,以下不正确的说法是(

答案:函数在调用之前,一定要声明函数原型,保证编译系统进行全面的调用检查以下正确的说法是(

答案:实参和与其对应的形参各占用独立的存储单元凡在函数中未指定存储类别的变量,其隐含的存储类别是(

答案:自动若有以下定义和语句:chars1[]="abced",s2[]="abcd";printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是:(

)

答案:4以下程序段的输出结果是(

chars[]="\113vwxyz\x41";

printf("%d\n",strlen(s));

答案:7下述对C语言字符数组的描述中正确的是(

)

答案:任何一维字符数组的名称都是该数组存储单元的开始地址,且其每个元素按照顺序连续占存储空间若有说明:inta[][3]={{1,2,3},{4,5},{6,7}};则数组a的第一维的大小为:(

)

答案:3以下程序运行后,输出结果是(

voidmain(){

int

a[4][4]={{1,3,5},{2,4,6},{3,5,7}};

printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);}

答案:0650以下对一维数组a的正确说明是:(

答案:chara[3]={‘a’,’b’,’c’};已知:int

a[10];则对a数组元素的正确引用是(

)

答案:a[0]已知inta[3][4];则对数组元素引用正确的是(

)

答案:a[2][0]对二维数组的正确定义是(

)

答案:inta[][3]={1,2,3,4,5,6};合法的数组定义是(

)

答案:chara[6]={'A','B','C','D','E'};研究下面的C程序段:inti,j;for(i=5;i;i--)for(j=0;j<4;j++){…}循环体的总执行次数是(

答案:20下面有关for循环的正确描述是(

答案:for循环的循环体语句中,可以包含多条语句,但必须用大括号括起来下面程序的运行结果是(

)voidmain(){inti;

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

{

if(i%2)

printf(“*”);

else

continue;

printf(“#”);}printf(“$\n”);}

答案:*#*#*#$以下程序运行后,输出的结果是(

main()

{

inti,j,sum=0;

for(i=5;i;i--)

for(j=0;j<3;j++)

sum++;

printf("%d",sum);

}

答案:15分析下面的C语言代码:inta=1,b=10;do{b-=a;a++;}while(b--<0);则执行循环语句后b的值为(

答案:8若i为整型变量,则以下循环执行次数是(

)for(i=2;i==0;)

printf(“%d\n”,i--);

答案:0次C语言中,while和do…while循环的主要区别是(

答案:do…while的循环体可以无条件执行一次分析下面的C代码段:charstr1[15]="SeaView";charstr2[15]="SeaBreeze";strcpy(str1,str2);printf("%s\n",str1);则输出结果是(

答案:SeaBreeze已知a,b,c,w时int型变量,a,b均以赋值,且满足a答案:c>=b设a,b,w为整型变量,ch为字符型变量,用if语句改写以下的程序段:

switch(ch)

{case'+':w=a+b;break;

case'-':w=a-b;break;

case'*':w=a*b;break;

case'/':w=a/b;break;}

在下列写法中,错误的是(

答案:if(ch=='+')w=a+b;

elseif(ch=='-')w=a-b;

if(ch=='*')w=a*b;

elsew=a/b;C语言中,逻辑真表示为(

)。

答案:1以下程序的输出结果是(

#include

main()

{inta=0,b=l,c=0,x=0,y=0;

if(x<=y)

if(y=l0)

if(!b)

a=1;

elseif(c)a=10;

a=-1;

printf("%d",a);}

答案:-1若执行下面的程序时从键盘上输入10,则输出是(

)main()

{inta;scanf("%d",&a);if(a++>10)

printf("%d\n",++a);elseprintf("%d\n",a--);

}

答案:11已知a,b,c的值分别是1,2,3,则执行下列语句后a,b,c的值分别是(

)if(a++答案:2,2,2请读程序:

#include

main()

{intx=l,y=0,a=0,b=0;

switch(x)

{casel:

switch(y)

{case0:a++;break;

case1:b++;break;}

case2:

a++;b++;break;}

printf("a=%d,b=%d\n

温馨提示

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

评论

0/150

提交评论