C语言习题3
c语言习题

C语言阶段测试三一、单项选择题1、有以下定义:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}int (*ptr)[3]=a,*p=a[0];则下列能够正确表示数组元素a[1][2]的表达式是( A )。
A)*((*ptr+1)[2])B)*(*(p+5))C)(*ptr+1)+2 D)*(*(a+1)+2)2、# include <stdio.h> Dvoid main ( ){ int a[3][3]={1,2,3,4,5,6,7,8,9};int s=0,i;for (i=0;i<3;i++)s+=(*(a+i))[i];printf("%d",s);}A)9 B)12 C)14 D)153、设有说明语句:char a= '\123abc';则变量a ( A )A) 包含7个字符 B) 包含6个字符C) 包含5个字符D) 包含4个字符4、有以下程序段int k=0while(k=1)k++;while 循环执行的次数是( C )A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次5、下面四个选项中,均是合法转义字符的选项是_C___。
a. '\''b. '\'c. '\018'd. '\\0''\\' '\017' '\f' '101'\n' '\"' 'xab' 'xlf'6、下面四个选项中,均是不正确的八进制数或十六进制数的选项是____。
a. 016b. oabcc. 010d. 0a120x8f 017 -0x11 7ff018 0x8 0x16 -1237、设int x;则执行printf(″%x\n″,~x^x);的结果是( )A.0B.1C.ffD.ffff8、设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是( A )A.9,19B.9,20C.10,19D.10,209、对于while语句,错误的说法是(B )A.用条件控制循环体的执行次数B.循环体至少要执行一次C.循环体有可能一次也不执行D.循环体中可以包含若干条语句10、执行下列语句int a=8,b=7,c=6;if(a<b)if(b>c){a=c;c=b;}printf(″%d,%d,%d\n″,a,b,c);后输出的结果是( A )A.6,7,7B.6,7,8C.8,7,6D.8,7,811、设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么( A )A.x数组的长度等于y数组的长度B.x数组的长度大于y数组的长度C.x数组的长度少于y数组的长度D.x数组与y数组的存储区域相同12、设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++)printf(″%d″,x[i][2-i]);的输出结果是( C )A.147B.159C.357D.36913、设int b[ ]={1,2,3,4},y,*p=b;则执行语句y=*p++;之后,变量y的值为( A )A.1B.2C.3D.414、假设int型变量占两个字节的存储单元,若有定义:int x[10]={0,2,4};则数组x在内存中所占字节数为____D__。
C语言习题级答案3

测试题31.C语言中不合法的字符常量是 CA、’\65’B、’\xff’C、’\028’D、’&’2.具有相同类型的指针变量p与数组a,不能进行的操作是(C)。
A、p=&a[0];B、p=a;C、p=&a;D、*p=a[0];3.若有x=22,y=26,z=0;,则执行下面语句后,z的输出结果是(B )z=x>y?x:yA、72B、26C、48D、224.对于建立函数的目的,正确的说法是DA、提高程序的执行效率B、减少程序的篇幅C、减少程序文件所占的内存D、提高程序的可读性5.有定义:char*p1,*p2;则下列表达式中正确合理的是CA、p1/=5B、p1+=5C、p1=&p2D、p1*=p26.以下程序的运行结果是(B)。
main(){int i=1,sum=0;while(i<10) sum=sum+1;i++;printf("i=%d,sum=%d",i,sum);}A、i=10,sum=9B、运行出现错误C、i=2,sum=17.若变量已正确定义且k 的值是4,计算表达式( j =4, k--) 后,j和k的值为(C)A、j=4, k=4B、j=3, k=3C、j=4, k=3D、j=3, k=48.给出以下定义:char x[ ]="abcdefg";char y[ ]={'a','b','c','d','e','f','g'};则正确的叙述为(A)A、数组x的长度大于数组y的长度B、数组x和数组y等价C、数组x和数组y的长度相同D、数组x的长度小于数组y的长度9.在下述程序中,判断i > j共执行了多少次 C#include <stdio.h>main(){int i = 0, j = 10, k = 2, s = 0;for( ; ; ){i += k;if(i > j){printf(“%d\n”, s);break;}s += i;}}A、4B、8C、6D、710.下列各m的值中,能使m%3==2&&m%5==3&&m%7==2为真的是(D)。
C语言习题三基本语句

习题三基本语句1. 以下叙述中错误的是______。
A、C语句必须以分号结束B、复合语句在语法上被看作一条语句C、空语句出现在任何位置都不会影响程序运行D、赋值表达式末尾加分号就构成赋值语句解析:本题考查的是C语句。
"空语句出现在任何位置都不会影响程序运行"这句话是错误的,例如在for 循环中,循环条件语句为空时,则不判断循环条件,循环将无终止地进行下去,导致了此循环为死循环。
故本题答案为C。
2. 有以下程序,其中%u表示按无符号整数输出main(){ unsigned int x=0xFFFF; /* x的初值为十六进制数 */printf("%u\n ",x);}程序运行后的输出结果是______。
A、-1B、65535C、32767D、0xFFFF解析:本题考查的是整型无符号数的输出。
%u的作用是按无符号的十进制形式输出整型数,十六进制数0xFFFF转换为二进制位其值为16个1,代表的整数就是65535。
故本题答案选B。
3. 下列定义变量的语句中错误的是______。
A、int _int;B、double int_;C、char For;D、float US$;解析:本题考查的是C数据类型及其定义。
选项D中含有"$",故不符合标识符的定义。
故本题答案为D。
4. #include <stdio.h>main(){ char c1,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&c1,&c2,&c3,&c4);c5=getchar(); c6=getchar();putchar(c1); putchar(c2);printf("%c%c\n",c5,c6);}程序运行后,若从键盘输入(从第1列开始)123<回车>45678<回车>则输出结果是______。
C语言-第3章 最简单的C程序设计 练习题

第3章最简单的C程序设计—顺序程序设计一、单项选择题1. 不是C语言提供的合法关键字是。
A)switch B)cher C)case D)default2. C语言提供的合法关键字是。
A)next B)string C)do case D)struct3. 下列不属于C语言中关键字的是。
A) long B) print C)default D)typedef4. 下列不正确的标识符是。
A) -a1 B) a[i] C)a2_i D)x5. 下列C语言用户标识符中合法的是。
A)*y B)sum C)int D)%5f6. 下面四个选项中,合法的标识符是。
A)auto B)define C)6a D)c7.下列C语言用户标识符中合法的是。
A)3ax B)x C)case D)-e28. 以下选项中合法的用户标识符是。
A) long B) _2Test C) 3Dmax D) A.dat9.下列四组选项中,正确的C语言标识符是。
A)%x B)a+b C)a123 D)12310. 请选出可用作C语言用户标识符的一组标识符A) void B) a3_b3 C) For D) 2adefine _123-abc DOWORD sum Case sizeof11. 下列四组字符串中都可以用作C语言程序中的标识符的是。
A)print _3d oodb aBc B)I\am one_half start$it 3paiC)str_1 Cpp pow while D)Pxq My->book line# His.age12. 下列C语言标识符中合法的变量名是。
A)2e3 B)you C)*y D)float1-12题解析:参照讲义中知识点--标识符与关键字,13. C语言中的简单数据类型包括。
A)整型、实型、逻辑型B)整型、实型、逻辑型、字符型C)整型、字符型、逻辑型D)整型、实型、字符型13题解析:C语言中没有逻辑型变量14.下列可以正确表示字符型常量的是。
C语言练习题及答案解析三

C语言练习题及答案解析三(共3页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--一、单项选择题1.下面不属于C语言的数据类型是【】。
A) 整型 B) 实型 C) 逻辑型 D) 双精度实型分析:和其它高级语言相比,C语言中没有逻辑型数据,也没有逻辑型变量。
本题正确答案为C。
语言中,下列属于构造类型的是【】。
A) 整型 B) 实型 C) 指针类型 D) 结构体类型分析:C语言中构造类型的数据有三种:数组、结构体和共用体,数组是同类型数据的集合,结构体是不同类型的数据集合。
本题正确答案为D。
3.下列字符串不符合标识符规定的是【】。
A) SUM B) sum C) 3cd D) end分析:标识符规定只能由26个英文字母(大小写均可),数字0~9和下划线组成,且不能以数字开头,题中的3cd不符合规定。
本题正确答案为C。
4.下面能正确表示八进制数的是【】。
A) 0x16 B) 029 C) -114 D) 033分析:选项A)以0x开头是十六进制数,选项B)虽然是0开头,但出现了数字9,选项C)是十进制数。
本题正确答案为D。
5.下面四个选项中,均是合法实数的选项是【】。
A) B) C) D)-e5分析:实数有两种表示形式:小数形式和指数形式,小数形式必须有小数点,指数形式中,字母e之前必须有数字,e之后必须是整数。
选项A)中的"",选项C)中的"",选项D)中的"-e5"均是不合法的。
本题正确答案为B。
语言中,字符型数据在内存中存储形式是【】。
A) 原码 B) 反码 C) 补码 D) ASCII码分析:C语言中int型数据是以补码形式存放的,字符型数据是以ASCII码形式存放的。
本题正确答案为D。
7.下列正确的字符型常量是【】。
A) "a" B) ′\\\\′ C) "\\r" D) 277分析:字符常量的定义是用单引号括起来的一个字符,A和C的定界符不对,D超过了char型数据的表示范围,′\\\\′是转义字符。
C语言练习题3

一、语言基础选择题1.C语言程序的基本单位是 CA) 程序行 B) 语句 C) 函数 D) 字符2. 以下说法中正确的是 CA) C语言程序总是从第一个的函数开始执行B) 在C语言程序中,要调用的函数必须在main()函数中定义C) C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分3.一个C语言程序的上机步骤是 AA) 编辑,编译,连接,执行 B) 编译C) 编辑,连接,执行 D) 连接,编译,执行4. 已知有定义:char ch;则如下正确的赋值为 AA) ch=‘M’; B) ch=’55’; C) ch="M"; D) ch="55";5.在Turbo C环境中,查看程序运行结果的快捷键是 DA) F5 B) Ctrl+F9 C) F8 D) Alt+F56.下列变量名中合法的是 CA) B.C.Tom B) 3a6b C) _ba7b D) $ABC7. C语言中,要求运算数必须是整型的运算符是 DA) / B)+ + C)!= D)%8. 已知 int j,i=1;则执行j=-i++; i和j的值为 BA)1,-1 B)2,-1 C)1,1 D)2,19.在C语言中,数字029是一个 AA)八进制数 B)十六进制数 C)十进制数 D)非法数10.C语言中用于结构化程序设计的三种基本结构是__A___A)顺序结构、选择结构、循环结构 B)if、switch、breakC)for、while、do-while D)if、for、continue11.如下程序运行后的输出结果是__B__main( ){int x=1,a=0,b=0;switch(x){ case 0:b++;case 1:a++;case 2:a++;b++;}printf("a=%d,b=%d\n",a,b);}A)a=1,b=1 B)a=2,b=1 C)a=1,b=0 D)a=2,b=2 12.若i为整型变量,则以下循环执行次数是_C__for(i=2;i==0;)printf(“%d”,i--);A)无限次 B)0次 C)1次 D)2次13.设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是_D__ A)3 B)0 C)9 D)-1214.有输入语句:scanf("a=%d,b=%d",&a,&b),为使变量a值为3,b值为7,从键盘输入数据的正确形式是_A__A)a=3,b=7<回车> B)a=3 b=7<回车> C)3 7<回车> D)3,7<回车>15.已知在ASCII代码中,字母A的序号为65,以下程序的输出的结果是_D__#include <stdio.h>main(){char c1='A', c2='Y';printf("%d,%d\n",c1,c2);}A) 因输出格式不合法,输出错误信息 B)65,90C)A,Y D)65,8916.如下程序段int a=14,b=15,x;char c='A';x=(a&&b)&&(c<'B');执行该程序段后,x的值为__D__A)ture B)false C)0 D)117.以下关于break和continue语句的说明正确的是_C___A) break用于switch结构,continue用于循环结构。
C语言练习题3

C语言练习题一、判断题1.C语言的switch语句中case后可为字符和整型常量表达式或有确定值的变量及表达式。
(N)2.如果有一个字符串,其中第十个字符为’\n’,则此字符串的有效字符为9个。
(N)3.两个字符串中的字符个数不相同时也可以进行字符串大小的比较。
(Y)4.如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。
(Y)5.C语言的switch语句中的case后只能为整型或字符型常量或常量表达式。
(Y)6.变量根据其作用域的范围可以分作局部变量和全局变量。
(Y)7.循环结构中的continue语句是整个循环终止执行。
(N)8.char*p=”girl”;的含义是定义字符型指针变量p,p的值是字符串“girl”.(N)9.C语言中只能逐个引用数组元素而不能一次引用整个数组。
(Y)10. int a[3][4]={ {1},{5},{9} };它的作用是将数组各行第一列的元素赋初值,其余元素值为0。
(Y)11.C语言中“%”运算符的运算对象必须为整形。
(Y)12.函数strl en(“ASDFG\n”)的值是7。
(N)13.若有说明int c;则whil e(c=getchar());是正确的c语句。
(Y)14.表达式,(j=3,j++)的值是4。
(N)15.在c程序中,函数既可以嵌套定义,也可以嵌套调用。
(N)16.Int i=20;Switch(i/10){Case 2:printf(“A”);Case 1:printf(“B”);}的输出结果为A (N)17.While 和d o…whil e循环无论在什么条件下它们结果都相同。
(N)18.逻辑表达式-5&&!8的值为1.(N)19.逻辑表达式-5&& 8的值为1.(Y)二、单选题1.若有说明:int a[3][4]=0;则下面正确的叙述是(D)A.只有元素a[0][0]可得到初值0B.此说明语句不正确C.数组a中各元素都可以得到初值,但其值不一定是0D.数组a中每个元素均可得到初值02.C语言规定,函数返回值的类型是由(D)A.return语句中的表达式类型所决定B.调用该函数时的主调函数类型所决定C.调用该函数时系统临时决定D.在定义该函数时所指定的函数类型所决定3.若有下列定义,则对a数组元素A[2]地址的正确引用是(C)A.*(P+5)B.*p+2C.*(a+2)D.*&a[5]4.为表示关系x≥y≥z,应使用C语言表达式(A)A.(x>=y)&&(y>=z)B.(x>=y)AND(y>=z)C.(x>=y>=z)D.(x>=z)&&(y>=z)5.设有说明:char c; int x; doubl e z;则表达式c*x+z值的数据类型为(D)A.fl oatB.intC.charD.d oubl e6.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是(D)A.a>=10 or a<=10B.a>=0 | a<=10C.a>=10 && a<=10D.a>=10 || a<=07.已知p,p1为指针变量,a为数组名,j为整型变量,下列赋值语句中不正确的是(D)A.p=&j,p=p1B.p=aC.p=&a[j]D.p=108.C语言的if语句嵌套时,if与else的配对关系是(A)A.每个else总是与它上面的最近的if配对B.每个else总是与最外层的if配对C.每个else与if的配对是任意的D.每个else总是与它上面的if配对9.已知x=43,ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是(C)A.0B.语法错C.1D.“假”10.如果int a=2,b=3,c=0,下列描述正确的是(B)A.a>=b!=c和a>(b!=c)的执行顺序是一样的B.!a!=(b!=c)表达式的值是1C.a||(b=c)执行后b的值为0D.a&&b>c的结果为假11.若有说明:int *p1,*p2,m=5,n;以下均是正确的赋值语句的选项是(C)A.p1=&m;p2=&p1B.p1=&m;p2=&n;*p1=*p2;C.p1=&m;p2=p1D.p1=&m;*p2=*p112.设有说明:char w; int x; fl oat y; d ouble z;则表达式w*x+z-y值的数据类型为(D)A.fl oatB.intC.charD.d oubl e13. C语言规定,在一个源程序中,main函数的位置(C)A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后14.C语言的if语句嵌套时,if与else的配对关系是(A)A.每个else总是与它上面的最近的if配对B.每个else总是与最外层的if 配对C.每个else与if的配对是任意的D.每个else总是与它上面的if配对15.下列字符序列中,不可用做C语言标识符的是(B)A. b70B. #abC. symbolD. a_116.整形变量x=1,y=3,经下列计算后,x的值不等于6的是(B)A.x=(x=1+2,x*2)B.x=y>2?6:5C.x=9-(--y)-(y--)D.x=y*4/217.若有下列定义,则对a数组元素a[2]地址的正确引用是(C)A. *(p+5)B. *p+2C. *(a+2)D. *&a[5]18.在C语言中,能代表逻辑值“真”的是(D)A.TrueB.大于0的数C.非0整数D.非0的数19.任何一个C语言的可执行程序都是从(B)开始执行的,A. 程序中的第一个函数B. main( )函数的入口处C. 程序中的第一条语句D. 编译预处理语句20.下列语句中,不正确的是(C)A. char a[2]={1,2};B. int a[2]={‘1’,’2’};C. char a[2]={‘1’,’2’,’3’};D.char a[2]={‘1’};21.C语言中不可嵌套的是(B)A.函数调用B. 函数定义C.循环语句D.选择语句22.若有说明:int *p1,*p2,m=5,n;以下均是正确赋值语句的选项是(C)A. p1=&m;p2=&p1B. p1=&m;p2=&n; *p1=*p2C. p1=&m;p2=p1D. p1=&m;*p2=*p123.在C语言中,调用函数除函数名以外,还必须有(C)A. 函数预说明B. 实际参数C.()D. 函数返回值24.以下不能对二维数组a进行正确初始化的语句是(C)A. int a[2][3]={0};B. int a[ ][3]={ {1,2} ,{0} };C. int a[2][3]={ {1,2},{3,4},{5,6} };D. int a[ ][3]={1,2,3,4,5,6};25.C语言中whil e 和do-whil e 循环的主要区别是(B)A. While 的循环控制条件比d o-whil e的循环控制条件严格B. d o-whil e 的循环体至少无条件执行一次C. d o-whil e 允许从外部转到循环体内D.d o-whil e循环体不能是复合语句26.以下叙述正确的是(A)A. C程序中注释部分可以出现在程序中任意合适地方B. 花括号“{ “和”}”只能作为函数体的定界符C. 构成C程序的基本单位是函数,所有函数名都可以由用户命名D. 分号是C语言之间的分隔符,不是语句的一部分27.变量的指针,其含义是指该变量的(B)A.值B.地址C.名D.一个标志28.若有说明: int a[ 3] [ 4]={ 0};则下面的叙述正确的是(D)A.只有元素a[0] [0]可得到初值0B.此说明语句不正确C.数组a 中各元素都可得到初值,但其值不一定为0D.数组a中各元素均可得到初值029.表达式18/4*sqrt(4.0)/8的值的数据类型为(C)A. intB. fl oatC. d oubl eD. 不确定30.以下标识符中,不能作为合法的C用户定义标识符的是(C)A. AnswerB. ToC. SignedD. if31.变量p为指针变量,若p=&a,下列说法不正确的是(D)A. &*p==&aB. *&a==aC. (*p)++==a++D. *(p++)==a++32. int a=3,b=2,c=1;if(a>b>c)a=b;else a=c;则a的值为(C)。
c语言第3-4章练习题有答案

第3-4章练习题一、选择题1. 以下错误的字符串赋值或赋初值方式是:(A)char str1[]=”string”, str2[]=”12345678”;st r cpy(str2,str1);(B)char str[7]={‟s‟,‟t‟,‟r‟,‟i‟,‟n‟,‟g‟};(C)char str[10] ;str =”string”;(D)char *str; str=”string”;2. 数组定义中不正确的是:(A)int a[2][3]; (B)int b[][3]={0,1,2,3};(C)int c[100][100]={0}; (D)int d[3][]={{1,2},{1,2,3},{1,2,3,4}};3. 以下对一维数组a正确初始化的是:(A)int a[10]=(0,0,0,0,); (B)int a[10]={};(C)int a[10]={0}; (D)int a[10]=(10*2);4.以下选项中,不能正确赋值的是:(A)char s1[10];s1="Ctest"; (B)char s2[]={'C', 't', 'e', 's', 't'};(C)char s3[20]="Ctest"; (D)char *s4="Ctest\n"5.若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是:(A)i=*p; (B)*p=*&j; (C)i=&j; (D)i=**p;6. 下面各语句行中,不能正确进行字符串操作的语句行是:(A) char st[10]={"abcde"}; (B) char s[5]={'a','b','c','d','e'};(C) char *s; s="abcde"; (D) char *s; scanf("%s",s);7.设有如下的程序段,执行上面的程序段后,*(ptr+5)的值为:char str[ ]="Hello"; char *ptr; ptr=str;(A) 'o' (B) '\0' (C)不确定的值(D) 'o'的地址8. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));(A)5 (B)14 (C)8 (D)输出项不合法,无正常输出9.以下程序段给数组所有的元素输入数据,请选择正确答案填入。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一,选择题1,C语言中不合法的字符串量是(B)A、”\121”B、’y=’C、”ABCD\x6d”D、”\n\n”2,设有说明语句:char a='\72';那么变量a(B)。
A、说明不合法B、包括1个字符C、包括2个字符D、包括3个字符3,以下数据中,不正确的数值或字符常量是(B)。
A、0B、o13C、5LD、98614,从键盘上输入某字符串时,不可利用的函数是(B)。
A、gets()B、fread()C、scanf()D、getchar()5,假设变量已正肯概念,以下程序段的输出结果是( D )x=;printf(“%f\n”, (int)(x*1000+/(float)1000); A、B、输出格式说明与输出项不匹配,输出无定值C、D、6,以下运算符中优先j级别最低的运算符是( C)A、+B、!=C、||7,以下不是无穷循环的语句为(C)。
A、for(;;x++=i);B、while(1){x++;}C、for(y=0,x=1;x>++y;x=i++) i=x;D、for(i=10;;i--) sum+=i;8,以下概念数组的语句中正确的选项是(C)。
A、char str[];B、int num['10'];C、#define size 10 char str1[size],str2[size+2];D、int n=5; int a[n][n+2];9,以下程序段的输出结果为(B)。
char c[]="abc"; int i=0; do ;while(c[i++]!='\0');printf("%d",i-1);A、abcB、3C、abD、210,函数挪用:strcat(strcpy(str1,str2),str3)的功能是( C)A、将串str2连接到串str1以后再将串str1复制到串str3中B、将串str1复制到串str2中后再连接到串str3以后C、将串str2复制到串str1中后再将串str3连接到串str1以后D、将串str1连接到串str2以后再复制到串str3以后11,在C语言中,挪用函数除函数名外,还必需有(A)。
A、( )B、函数返回值C、函数预说明D、实际参数12,下面选择中正确的赋值语句是(设char a[5],*p=a;)(D)。
A、*a="abcd";B、*p="abcd";C、a="abcd";D、p="abcd";13,假设有double *p,x[10];int i=5;使指针变量p指向元素x[5]的语句为(D)。
A、p=x[i];C、p=&(x+i)D、p=&x[i];14,C语言中,概念结构体的保留字是(A)。
A、structB、unionC、enumD、typedef15,以下表达中不正确的选项是(C)。
A、C语言中,随机读写方式不适用于文本文件B、C语言中对二进制文件的访问速度比文本文件快C、C语言中,顺序读写方式不适用于二进制文件D、C语言中的文本文件以ASCⅡ码形式存储数据二,填空1,以下程序的运行结果是__21___ 。
#include <>main(){int a = 3, b = 7, t;t = a > b ? a : b;while(t % a || t % b)t++;printf("%d\n", t)}2,请写出以下程序的输出结果___1__。
main(){ int a = 100;if( a > 100) printf(“%d\n”, a > 100);else printf(“%d\n”, a <= 100); }3,以下程序的输出结果是_-1____。
main(){ int x = 2;while ( x-- );printf(“%d\n”, x);}4,以下程序段的输出结果是__3___。
printf(“%d\n”, strlen(“s\n\016\0end”));5,有以下宏概念和赋值语句,宏置换后的赋值语句的形式是__p = 3+5*3+5___。
#define A 3+5… …p = A * A;6,假设有概念: char ch,*p;使指针p指向变量ch的赋值语句是_p=&ch____。
7,结构体是不同数据类型的数据集合,作为数据类型, 必需先说明结构体_类型____,再说明结构体变量.8以下程序由终端键盘输入一个文件名,然后把终端键盘输入的字符依次存放到该文件中,用#号作为终止输入的标志。
请填空。
#include <>main(){ FILE _*fp____;char ch, fname[10];printf("Enter the name of file\n");gets(fname);if( ( fp = fopen(fname,"w") ) == NULL ){ printf("Open error!\n");exit(0);}printf("Enter data: );while(( ch = getchar() ) != '#' )fputc(ch , fp);fclose( fp );}9, 设a、b、c为整型数, 且a=2、b=3、c=4, 那么执行完以下语句: a*=16+(b++)-(++c); 后,a 的值是 _28____.10, x=x+1对应的复合赋值语句是_x+=1____.三,【程序设计】功能:编写函数fun生成一个主对角线元素为1,其他元素都为0的3*3的二维数组。
#include ""void main(){int a[3][3],i,j;void fun(int arr[][3]);void TestFunc();fun(a);for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%d ",a[i][j]);printf("\n");}TestFunc();}void fun(int arr[][3]){ int i,j;/**********Begin**********/for(i=0;i<3;i++)for(j=0;j<3;j++)if(i==j)arr[i][j]=1;elsearr[i][j]=0;/********** End **********/ }void TestFunc(){FILE *IN,*OUT;int m,n;int i[3][3];IN=fopen("","r");if(IN==NULL)printf("Read File Error");OUT=fopen("","w");if(OUT==NULL)printf("Write File Error");for(m=0;m<3;m++)for(n=0;n<3;n++)fscanf(IN,"%d",&i[m][n]);fun(i);for (m=0;m<3 ;m++ ){for(n=0;n<3;n++)fprintf(OUT,"%d",i[m][n]); fprintf(OUT,"\n");}fclose(IN);fclose(OUT);}四,程序改错参考答案#include ""void main() scanf("%ld",&i);{ if(i<=100000)long int i; printf("bonus=%d",bonus); int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;/**********ERROR**********/scanf("%ld"&i);bonus1=100000*;bonus2=bonus1+100000*;bonus4=bonus2+200000*;bonus6=bonus4+200000*;bonus10=bonus6+400000*;/**********ERROR**********/if(i>100000)bonus=i*;else if(i<=200000)bonus=bonus1+(i-100000)*;else if(i<=400000)bonus=bonus2+(i-200000)*;else if(i<=600000)bonus=bonus4+(i-400000)*;else if(i<=1000000)bonus=bonus6+(i-600000)*;elsebonus=bonus10+(i-1000000)*;/**********ERROR**********/printf("bonus=%d",bonus)}五,【程序填空】功能:以每行5个数来输出300之内能被7或17整除的偶数,并求出其和。
#include <>void main(){int i,n,sum;sum=0;n=0;/**********FILL**********/for(i=1; i_<____300 ;i++)/**********FILL**********/if(i%7==0||i%17==0_____)if(i%2==0){sum=sum+i;n++;printf("%6d",i);/**********FILL**********/ if(_n%5==0____)printf("\n");}printf("\ntotal=%d",sum);}。