C程序试题3
西安工业大学头歌c语言程序设计答案

西安工业大学头歌c语言程序设计答案1. 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:( )。
[单选题] *任意(正确答案)第一个函数必须是主函数,其他函数任意必须完全按照执行的顺序排列其他函数可以任意,主函数必须在最后2. 若有以下数组说明,则数值最小的和最大的元素下标分别是()。
int a[l0]이={1,2,3,4,5,6,7,8,9,10}; [单选题] *1,101,90,9(正确答案)0,103. 下面不是C语言合法标识符的是 ( )。
[单选题] *abc11_123e2a(正确答案)xyz4. 以下叙述不正确的是: ( )。
[单选题] *分号是c语句的必要组成部分C程序的注释可以写在语句的后面函数是C程序的基本单位主函数的名字不一定非用main来表示(正确答案)5. C语言中允许的基本数据类型包括: ( )。
[单选题] *整型、实型(浮点型)、逻辑型整型、实型(浮点型)、字符型(正确答案)整型、字符型、逻辑型整型、实型(浮点型)、逻辑型、字符型6. 以下合法的赋值语句是:()。
[单选题] *a=b=10j++;(正确答案)x + yk = int(i+j);7. 在以下一组运算符中,优先级最高的是:()。
[单选题] *<=!(正确答案)%&&8. 下列能正确表示a≥10或a≤0的关系表达式是:()。
[单选题] *a>=10 or a<=0a<=10 || a>=0a>=10 || a<=0(正确答案)a>=10 && a<=09. 在C语言中,表达式23%7 的值为:() [单选题] *12(正确答案)310. 下述是C语言中有关变量定义的几个说法,正确的是:()。
[单选题] *变量可以不定义直接使用一个说明语句只能定义一个变量几个不同类型的变量可在同一语句中定义变量可以在定义时进行初绐化(正确答案)11. 设int a=12,则执行完语句a+=a-=a*a后,a的值是:()。
C语言程序设计第二版习题参考答案

C语言程序设计习题参考答案习题1一、判断题1.在计算机中,小数点和正负号都有专用部件来保存和表示。
2.二进制是由0和1两个数字组成的进制方式。
3.二进制数的逻辑运算是按位进行的,位及位之间没有进位和借位的关系。
4.在整数的二进制表示方法中,0的原码、反码都有两种形式。
5.有符号数有三种表示法:原码、反码和补码。
6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。
解:1.F 2.T 3.T 4.T 5.T 6.T二、单选题1.在计算机中,最适合进行数值加减运算的数值编码是。
A. 原码B. 反码C. 补码D. 移码2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII码为十进制数。
A. 112B. 120C. 121D. 1223.关于ASCII码,在计算机中的表示方法准确地描述是。
A. 使用8位二进制数,最右边一位为1B. 使用8位二进制数,最左边一位为1C. 使用8位二进制数,最右边一位为0D. 使用8位二进制数,最左边一位为04.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是___________。
A. X∧Y=1000B. X∨Y=1111C. X⊕Y=0011D. ¯Y =10005.下列叙述中正确的是()。
A.高级语言就是机器语言B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。
A.生成可执行文件B.生成目标文件C.输出运行结果D.自动保存源文件7.下列叙述中不正确的是()。
A.main函数在C程序中必须有且只有一个B. C程序的执行从main函数开始,所以main函数必须放在程序最前面C. 函数可以带参数,也可以不带参数。
C程序设计(数组)习题与答案

一、单选题1、若有定义 char s[10];则在下面表达式中不表示s[1]的地址的是()。
A.s++B.&s[0]+1C.&s[1]D.s+1正确答案:A2、若有定义int a[5],*p=a;则对a数组元素的正确引用是()。
A.a+2B.*(a+2)C.*&a[5]D.*(p+5)正确答案:B3、若有定义int a[5],*p=a;则对a数组元素地址的正确引用是()。
A.p+5B.&a+1C.*a+1D.&a[0]正确答案:D4、若要对a进行合法的自减运算,则之前应有下面()的说明。
A.int b[10];int *a=b+1;B.int k;int *a=&k;C.int p[3];int *a=p;D.char *a[3];正确答案:A5、若有定义int x[10]={0,1,2,3,4,5,6,7,8,9},*p1;则数值不为3的表达式是()。
A.p1=x+3,*p1++B.x[3]C.p1=x+2,*++p1D.p1=x+2,*(p1++)正确答案:D6、设int x[]={1, 2, 3, 4, 5, 6, 7, 8, 9, 0},*p=x,k;且0≤k<10, 则对数组元素x[k]的错误引用是()。
A.x[p-x+k]B.p+kC.*(&x[k])D.*(x+k)正确答案:B7、设double *p[6];则()。
A.p是指针数组,其元素是指向double型变量的指针B.p是指向double型变量的指针C.p是double型数组D.p是数组指针,指向double型数组正确答案:A8、若有定义int x[6]={2,4,6,8,5,7},*p=x,i;要求依次输出x数组6个元素中的值,不能完成此操作的语句是()。
A.for(i=0;i<6;i++) printf("%2d",*p++);B.for(i=0;i<6;i++) printf("%2d",*(p+i));C.for(i=0;i<6;i++) printf("%2d",*(p++));D.for(i=0;i<6;i++) printf("%2d",(*p)++);正确答案:D9、下面程序执行后的输出结果是()。
C语言考试题库及答案

1、下面程序的输出是___D______#include<stdio.h>void main(){ int k=11;}A)C)2A) ++t;3、下______A____.A) '\t' B) "A" C) 65D) A4、表达式: 10!=9的值是________D____.A) true B) 非零值C) 0 D) 15、C语言提供的合法的数据类型关键字是_____B____.A) Double B) short C) integer D) Char码单位是C) 函数完语句C) 1449、执行下面程序中的输出语句后,输出结果是____B__.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15D) 1010、下面程序的输出是____B______.#include<stdio.h>void main()}A) 17D) 2411}A) 012、已知字母A的ASCII码为十进制的65,下面程序的输出是______A_____.#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值aC)结果是C) 910 D) 10 915、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是_____D_____.A) 1 B) 0 C) 4D) 316、为表示关系x≥y≥z,应使用C语言表达式___A___.A) (x>=y)&&(y>=z) B)17、CA) 整型实型,C) 整型D) 整型18、量A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值19、阅读下面的程序#include<stdio.h>void main(){char ch;scanf("%3c",&ch);printf("%c",ch);}c D)}则程序的运行结果是____D____.A) 1,19 B) -1,19 C) 1,17D) -1,1721、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;}A)C)22A) 023、若已定义int a,则表达式a=10,a+10,a++的值是__B_.A) 20 B) 10 C) 21D) 1124、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);回车>,则B)}A) 1,1,2 B) 1,0,3 C) 0,1,2D) 0,0,326、下面程序的输出结果是____A____.#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(}A) 1,0D) 0,027A)D) 128int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是____B_____.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,10 29、已知有double型变量x=2.5,y=4.7,整型变量a=7,则表达式x+a%3*(int)(x+y)%2/4 的值是_____B____.A) 2.4 B) 2.5 C)2.75 D) 0,x=2;,值是C) 311,10D) 11,1332、设有以下语句:int x=10;x+=3+x%(3),则x的值是.____A_____A) 14 B) 15 C) 11D) 1233、若d为double型变量,则表达式d=1,d+5,d++的值是_____D__.A) 1 B) 6.0 C) 2.0D) 1.034、表达式5!=3的值是____D____.A) TD) 135A) 0D) 636式__D__.A) 0D) 137、在_____A____.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____.float y;值的数C) int行是从函数结束B) 本程序的第一个函数开始,到本程序的最后一个函数结束C) 本程序的主函数开始,到本程序的最后一个函数结束D) 本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是____A____.A) 10<a<15 B)C)42、下}{c=b/a;printf("%d/%d=%d\n",b,a,c) ;}}A) 60/5=12 B) 300 C) 60*5=300 D) 1243、如果c为字符型变量,判断c是否为空格不能使用____A____.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32) C) if(c=='\40') D) if(c==' ')结果是printf("x<y");}A) 3<5 B) 5>3 C) x>yD) x<y45、运行下面程序时,若从键盘输入数据为"6,5,7<CR>",则输出结果是____C___.#include <stdio.h>void main( ){ int a,b,c;scanf("%d,%d,%d",&a,&b,&c);}A) 5D)46、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是____A____.#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;C) 1盘输入(a!=2.0)) b=1.0/(a+2.0);else if (a<10.0) b=1.0/2;else b=10.0;printf("%f\n",b);}A) 0.000000 B)0.500000C) 1.000000 D)0.25000048、执行下面程序后,运行结果是____A____.}D) y=149、运#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D)}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good morning!Bye_Bye!Bye_Bye!51、执行下列程序段后的输出结果是A) 3D) 452、设达A) ZD) A53void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9D) 054、运行下面程序时,若从键盘输入"5 <CR>",则程序的输出结果是C) 5"3,结果是#include <stdio.h>void main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18D) 2056、}A) 3,0D) 3,157等级:B 分数:60~84等级:C 分数:60 以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是____D____.{case 'A':printf("85--100\n");case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf("等级错误!\n");}!\n");'B':printf("60--84\n");break;case 'C':printf("60以下\n");default:printf("等级错误!\n");}{case'A':printf("85--100\n");break;case'B':printf("60--84\n");break;case 'C':printf("60以下}58y=A) y=1;y=1;y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;else y=-1;59、有如下程序#include <stdio.h> void main( ){ float x=5.0,y;if(x<0.0) y=0.0;case 1:switch (y){casecase1:printf("second\n");break;}case 2:printf("third\n");}}A) firstC) first61voidif (!c) x=15;else x=25;printf("d=%d\n",d);} D) 2562、有如下程序:#include <stdio.h>void main( ){ int a=2,b=-1,c=2;if (a<b)C) 2结果是else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}D) 出错信息64、有如下程序#include <stdio.h>void main( ){ int x=1,a=0,b=0;switch(x){}}A)65、{ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);else}A) -1 1 B) 0 1 C) 1 0D) 0 066、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;的值是C) 2结果是A) a<=100 B) 100 C) 0D) 168、若执行下面的程序从键盘上输入9,则输出结果是.______B________void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9 D) 869}A) 7D) 470void main( ){int x;scanf("%d",&x);if (x++>5) printf("%d\n",x);}A) 7 B) 6 C) 5D) 471、以下程序段运行结果是____A____. int x=1,y=1,z=-1;x+=y+=z;D)C) 4,3 D) 2,-173、运行下面程序时,若从键盘输入数据为"123",则输出结果是___C____.void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9){case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 74、执行下列程序后的输出结果是___D____.#include <stdio.h>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);C) 2a输入b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 1577、运行下面程序后,输出是___D___.#include <stdio.h>void main( ){ int k=-3;if (k<=0) printf("****\n");else printf("####\n")}B) ****D)78、执}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出#### 性,C语言规定else总是与___C___组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if型变量,的值为C) 1A)是死循环B)循环执行两次C)循环执行一次D)有语法错误82、对下面程序段描述正确的是___B____.while (!x!=0) s+=++x;printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、A) ##84{ int a=1,b=10;do{ b-=a;a++;} while(b--<0);}A) 3,11 B) 2,8 C) 1,-1D) 4,985、下面程序段的运行结果是____B______.int n=0;C) 234结果是C)void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;}printf("%d",--i);}A) 4 B) 3 C) 5D) 688、函数pi的功能是根据以下近似公式求π值:n)}A) 1/i*i B) 1.0/i*i C)1.0/(i*i) D) 1.0/(n*n)89、下面程序段的运行结果是for(x=10;x>3;x--){ if(x%3) x--;--x; --x;printf("%d ",x);}A) 6 3 B) 7 4 C) 6 2结果是printf("%d\n",b);}A) 34 B) 24 C) 26 D) 25_____D______.for(i=1;i<=5;)printf("%d",i);i++;A) 12345 B) 1234 C) 15D) 无限循环92、}A) 2 093、以{ int i=10,j=0;do{ j=j+1; i--;}while(i>2);}A) 50 B) 52 C) 51D) 894、以下函数的功能是:求x的y次方,请填空.____C______#include<stdio.h>C) x{ int x=23;do{ printf("%d",x--);}while(!x);该程序的执行结果是___B____A) 321 B) 23C) 不输出任何内容D) 陷入死循环96、以下程序段的执行结果是____C____.A) 12D) 2597、{ if (i%2!=0) {printf("#");continue;}printf("*");}printf("\n");}A) #*#*# B) ##### C) *****D) *#*#*98、下面程序的输出结果是____D______.#include<stdio.h>while (--y);printf("%d\n",y--);}A) -1 B) 1C) 8 D) 0100、有如下程序#include<stdio.h>void main( ){ int n=9;while(n>6){n--;printf("%d",n);}A) 9878765101A) 6 B) 3 C) 死循环D) 0102、以下循环体的执行次数是___D____#include<stdio.h>void main( ){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);}A) 3 B) 2 C) 1出为ch<='Z')}printf("\n");}A) ABCdef B) abcDEF C) abc D) DEF104、下面程序的输出结果是____D______.main( ){int i,k=0, a=0, b=0;for(i=1;i<=4;i++)}A) k=5b=4b=4105、执行下面程序段后,k的值是____D_____.int i,j,k;for(i=0,j=10;i<j;i++,j--)k=i+j;A) 9 B) 11 C) 8 D) 10106、下面程序是计算n个数的平均值,请填空.____B___#include<stdio.h>C) xavg/n avg/x avg/n107、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。
大学C语言期末考试练习题(带详解答案)

大学C语言期末考试练习题(带详解答案)一、单项选择题1.(A)是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从C开始执行。
A)程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数D)包含文件中的第一个函数3、以下说法中正确的是(C)。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)A)C程序的工作过程是编辑、编译、连接、运行B)C语言不区分大小写。
C)C程序的三种基本结构是顺序、选择、循环D)C程序从main函数开始执行5.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.intt5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。
A)3a某B)某C)caeD)-e2E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。
A)%某B)a+bC)a123D)123选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。
A、print_3ddb8aBcB、I\\amone_halftart$it3paiC、tr_1CpppowwhileD、P某qMy->bookline#Hi.age选项B中的“\\”,”$”,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。
C 提高组试题及答案

C 提高组试题及答案一、选择题(每题5分,共30分)1.下列选项中,属于C语言关键字的是:A.empireB.placeC.voidD.while2.以下哪个选项可以用于定义常量?A.constB.staticC.externD.volatile3.在C语言中,用于循环控制的关键字是:A.ifB.elseC.forD.switch4.C语言中用于表示逻辑非的运算符是:A.&B.|C.!D.%5.以下哪个选项可以用于定义结构体?A.unionB.structC.enumerationD.typedef6.C语言的字符串常量是放在哪里的?A.栈B.堆C.全局数据区D.常量区二、填空题(每题5分,共20分)1.C语言的标准输入函数是______。
2.C语言中,用于将参数从字符格式转换为数值格式的函数是______。
3.C语言的逗号运算符的功能是______。
4.C语言中,用于关闭已打开的文件的函数是______。
三、程序设计题(每题20分,共50分)1.请编写一个简单的C程序,实现以下功能:用户输入一个整数,程序判断该整数是否是偶数。
若是偶数,则输出"该整数是偶数",否则输出"该整数是奇数"。
2.请编写一个C程序,实现以下功能:用户输入两个整数,程序交换这两个整数的值,并输出交换后的结果。
3.请编写一个C程序,实现以下功能:用户输入一个正整数n,程序计算并输出1到n之间所有奇数的和。
四、简答题(每题10分,共20分)1.请简要介绍C语言的特点和优势。
2.请简述C语言中数组和指针的关系。
五、附加题(20分)请编写一个C程序,实现以下功能:用户输入一个字符串,程序判断该字符串是否是回文串。
若是回文串,则输出"该字符串是回文串",否则输出"该字符串不是回文串"。
以上为C提高组试题及答案,希望对您的学习有所帮助!。
国家开放大学C语言试题及参考答案

1.C语言中的循环类语句有3条,它们是()。
选择一项:A. for,if,whileB. for,while,doC. while,do,switchD. for,break,do正确答案是:for,while,do2.C语言中的跳转类语句有四条,它们是goto,return和()。
A. break,constB. static,continueC. break,continueD. while,extern正确答案是:break,continue3.当不需要函数返回任何值时,则所使用的返回类型为()。
A. IntB. unionC. voidD. Void 正确答案是:void4.在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()。
选择一项:A. 表达式B. 语句C. 函数体D. 参数表正确答案是:参数表5.在一个程序文件的开始,若需要使用一个包含命令包含一个头文件时,则命令标识符为A. #cludeB. #constC. #includeD. #defile正确答案是:#include6.在#include预处理命令中,不可以包含()。
A. 系统头文件B. 程序文件C. 用户头文件D. 目标文件正确答案是:目标文件7.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据占用的字符位置个数为()。
选择一项:A. 5B. 6C. 4D. 2正确答案是:68.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据中,其小数部分占用的字符位置个数为()。
选择一项:A. 5B. 6C. 4D. 2正确答案是:29.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据中,其整数部分占用的字符位置个数为()。
A. 6B. 4C. 3D. 2正确答案是:310.在scanf()函数调用的格式字符串中,若使用格式符为“%f”,则对应输入的数据类型为()。
c语言前五章基础知识练习题答案(C程序设计第五版)

一、单选题1. C语言中的三大基本数据类型包括( B )A.整型、实型、逻辑型B.整型、实型、字符型C.整型、逻辑型、字符型D.整型、实型、逻辑型、数组型2. 在C语言中,以下合法的字符常量是( C )A. '\048'B. 'ab'C. '\43'D. "\0"3.设x 为 int 型变量,执行下列语句: x=10; x+=x-=x-x; 则x的值为 ( B )A. 15B. 20C. 25D. 304.逗号表达式(a=3*5,a*4),a+15的值是( B )A.15B. 30C. 60D. 755. .以下程序的输出结果是( C )。
main( ){ int x=10,y=11;printf("%d,%d\n",x--,--y);}A. 11,11B. 10,11C. 10, 10D.11,106.设有变量说明:int a=7,b=8;那么语句:printf("%d,%d\n",(a+b,a),(b,a+b));的输出应该是( A )A. 7,15B. 8,15C. 15,7D.15,87. C语言变量名中不能使用的字符是( D )A. 数字B. 字母C. 下划线D. 关键字8.以下变量定义中合法的是( A )A.short a=2.1e-1;B. double b=1+5e0.5;C. long do=0xffe ;D. float 3_end=1-e3;9.若有说明语句char ch1=′\x79′;则ch1(D )A.包含4个字符B.包含3个字符C. 包含2个字符D.包含1个字符10. 设整形变量a=12;则执行完语句a+=a-=a*a后a的值为()A. 552B. 264C. -264D. 14411.设a=1,b=2,c=3,d=4,则表达式:a>b?a:c<d?a:d的结果是(A )A.1 B.2 C.3 D.412. 下面程序段执行结果是( B )int i=5,k; k=(++i)+(++i)+(i++); printf("%d,%d",k,i);A. 24,8B. 21,8C. 21,7D. 24,713.以下选项中属于C语言的数据类型是( B )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言模拟试卷3
一、项选择题(选择一个最佳答案,每题2分,共20分)
1. 下列叙述正确的是( )。
A)函数调用时,若形参和实参同名则两者共用存储单元。
B)一个C程序的执行总是从main函数开始,到本程序文件的最后一个函数结束。
C)在C程序中,注释说明只能位于一条语句的后面。
D)宏替换只是字符的替换,不占用运行时间。
2. 不正确的字符串常量是( )。
A)’abc’ B)”12’12” C)”0” D)” ”
3. 已知如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B当从第一列开始输入数据
时,正确的数据输入方式是( )。(注:
int a1,a2; char c1,c2;
scanf(%d%d”,&a1,&a2);
scanf(%c%c”,&c1,&c2);
A)1020AB
4. 若二维数组a有m列,则在a[i][j]前的元素个数为( )。
A)j*m+i B) i*m+j C)i*m+j-1 D) i*m+j-1
5. 下面程序段的运行结果是( )。
char a[]=”language”,*p=a;
while(*p!=’g’) {printf{“%c”,*p-32};p++;}
A) LANgUAGE B) language C) LAN D) LANgUAgE
6. 以下正确的程序段是( )。
A)char str[20]; B) char p;
scanf(“%s”,&str); scanf(“%s”,p);
C)char str[20]; D) char str[20],*p=str;
scanf(“%s”,&str[2]); scanf(%s”,p[2]);
7. 若有定义语句int a[5], *p=a; 则对a数组元素的正确引用是()。
A) *&a[5] B) a+2 C) *(p+5) D) *(a+2)
8. 若有说明:int a[10]; 则对a数组元素的正确引用是( )。
A)a[10] B)a[3.5] C)a(5) D)a[10-10]
9. 有以下程序
#include
void main(int argc ,char *argv[ ])
{ int i,len=0;
for(i=1;i
}
经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行
ex abcd efg h3 k44
执行后输出结果是( )。
A) 14 B) 12 C) 8 D) 6
10. 有以下程序
void main( )
{ int i,s=0;
for(i=1;i<10;i+=2) s+=i+1;
printf(“%d\n”,s);
}
程序执行后的输出结果是( )。
A) 自然数1~9的累加和 B) 自然数1~10的累加和
C) 自然数1~9中的奇数之和 D) 自然数1~10中的偶数之和
二、 填空题(每题2分,共16分)
1. 若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值 。
2. 若有short i=-4;则如下语句执行结果为 。
printf(“%\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n”,i,i,i,i);
3. 若有定义:int a[3][4]={{1,2},{0}.{4,6,8,10}};
则初始化后a[1][2]= ; a[2][1]= .
4. 设char *s=”\ta\017bc”;则指针变量s指向的字符串所占的字节数为 。
5. 若有定义:int a[]={2,4,6,8,10,12},*p=a;则*(p+1)的值为 ,*(a+5)的值为 。
6. 若有数组名作为函数调用的实参,则传递给形参的是 。
三、读程序写结果(每题6分,共24分)
1. 有以下程序
#include
int x1=30,x2=40;
void sub(int,int);
void main()
{ int x=20,y=10;
sub(x,y);
sub(x2,x1);
printf("%d,%d,%d,%d\n",x,y,x2,x1)
;
}
void sub(int x,int y)
{ x1=x;
x=y;
y=x1;}
执行后输出的结果是 。
2. 有以下程序
#define LETTER 1
#include
void main()
{char str[20]="C Language",c;
int i=0;
while((c=str[i])!='\0')
{i++;
#ifndef LETTER
if(c>='a' &&c<'z')
c=c+1;
else if(c=='z') c=c-25;
#else
if(c>='B'&&c<='Z')
c=c-1;
else if(c=='A') c=c+25;
#endif
printf("%c",c);
} }
执行后输出的结果是 。
3. 有以下程序
void main( )
{ int i,n=0;
for(i=2;i<5;i++)
{ do
{ if(i%3) continue;
n++;
} while(!i);
n++;
}
printf(“n=%d\n”,n);
}
执行后输出的结果是 。
4. 有以下程序
#include
void main()
{ int a[10][10],i,j,m,n=9;
if(n%2==0) m=n/2;
else m=n/2+1 ;
for(i=0;i
a[n-1-i][j]=i+1;
a[j][i]=i+1;
a[j][n-1-i]=i+1; }
for(i=0;i
printf("\n"); }
}
执行后输出的结果是 。
四、程序填空(每空2分,共10分)
1. 函数fyahuui能够按以下形式构成一个杨辉三角形,请填空。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
„„„„„„„„„„„„„„„„
#define N 11
void fyahui(int a[][N])
{ int i, j;
for(i=1; i
}
2. 以下程序将数组a中的数据按逆序存放,请填空。
#define M 8
void main()
{ int a[M], i, j, t;
for(i=0; i
while(i
【1】 ;
*( 【2】 )=t;
i++;
j--;
}
for(i=0; i
五、编程题(共30分)
1. 用指针和数组两种方法实现如下功能:用选择法对10个整数排序(由大到小)。(18分)
要求(1)主函数中完成输入和输出字符串。
(2)排序功能用子函数完成。
2. 有一个已排好序的整型数组,今输入整数n并按原来排序的规律将其插入数组中(12分)
要求(1)主函数完成n的输入,数组元素输入以及插入后数组元素的输出。
(2)插入功能用子函数完成。