下列程序段的输出结果是1
- 格式:doc
- 大小:32.50 KB
- 文档页数:5
C语言专升本考试(习题卷5)第1部分:单项选择题,共70题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]表达式a>>3|b的计算顺序是( )。
(2分)A)1. 先执行左移,后执行或运算B)1. 先执行或运算,再执行左移C)1. 先执行或运算,再执行右移D)1. 先执行右移,再执行或运算答案:D解析:2.[单选题]对于基类型相同的两个指针变量之间,不能进行的运算是( )。
(2分)A)<B)"=C)+D)-答案:C解析:3.[单选题]以下正确的程序段是( )。
(2分)A)1. char str[20]; scanf("%s",&str);B)1. char *p; scanf("%s",p);C)1. char str[20]; scanf("%s",&str[2]);D)1. char str[20],*p=str; scanf("%s",p[2]);答案:C解析:4.[单选题]若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是( )。
(2分)A)1. read a,b,c;B)1. getchar(a,b,c);C)1. scanf("%d%d%d",&a,&b,&c);D)1. scanf("%d%d%d",a,b,c);答案:C解析:5.[单选题]Char *s1="hello",*s2;s2=s1;则()。
A)s2指向不确定的内存单元B)不能访问"hello"C)puts(s1);与puts(s2);结果相同D)s1不能再指向其它单元答案:C解析:6.[单选题]若有int *p=(int *)malloc(sizeof(int));则向内存申请到内存C)scanf("%d",*p);D)scanf("%d",**p);答案:A解析:7.[单选题]以下选项中,与k=n++完全等价的表达式是()。
《C语言程序设计》模拟题(补)一、简答题1、简述C语言程序的结构。
二、选择题1、下面程序段的输出结果是【1】。
int a=60;a+=a-=a+a;printf(“%d\n”,a);A) 120 B) 60C) -120 D) -602、下面正确的字符常量是【2】。
A) ‘c’B) ‘//’’C) “w”D) ‘’3、以下不能用作标识符的是【3】。
A) _26 B) ScanfC) case D) Double4、下面程序段中循环体执行的次数是【4】。
int a=10, b=0;do {b+=2; a-=2+b; } while(a>=0);A) 1B) 2C) 3D) 45、以下关于函数的叙述正确的是【5】。
A) 函数中必须要有return语句B) 函数中可以有多个return语句,但只有一个被执行C) return语句中必须有一个表达式D) 函数中定义的变量不能与其它函数中的变量同名6、满足x为奇数时值为真,x为偶数时值为假的表达式是【6】。
A) !(x%2==1) B) x%2==0C) x%2 D) !(x%2)7、以下语句中无法正确赋值的是【7】。
A) char b[10]={‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘!’};B) char b[10]; b=“Hello!”;C) char b[10]; strcpy(b, “Hello!”);D) char b[10]= “Hello!”;8、若有以下的定义和语句,则值为5的表达式是【8】。
int a[]={1,2,3,4,5,6,7,8,9,10};A) a[5] B) a[a[4]]C) a[a[3]] D) a[a[5]]9、若有定义:int k=7;float a=2.5,b=4.7;则表达式a+k%3*(int)(a+b)%2/4的值是【9】。
A) 2.B) 2.C) 3.D) 0.10、已知ch是字符型变量,下面正确的赋值语句是【10】。
专升本C语言程序设计试卷(二)一、单项选择题(1~30题每小题1分,31~45题每小题2分,共60分)1. 以下合法的用户自定义标识符是(D)。
A、 b-bB、floatC、<fr>D、_isw2. 若变量已正确定义并赋值,以下不符合C语言语法的表达式是(B)。
A、a*b/c;B、3.14%2C、2, bD、a/b/c3. 下列不正确的字符常量是(C)A、'n'B、'1'C、"a" D、'101'4. 在 C 语言中,表示逻辑值“真”用(B)A、1B、非 0 的数C、非 1 的数D、大于 0 的数5. 把x、y定义成float类型变量,并赋同一初值3.14是(C)A、float x, y=3.14;B、float x, y=2*3.14;C、float x=3.14, y=x=3.14;D、float x=y=3.14;6. 若变量已正确定义,值不为2的表达式是(C)A、2&3B、1<<1C、a==2D、1^37. 若变量已正确定义,和语句“if(a>b) k=0; else k=1;”等价的是(C)A、k=(a>b)?1:0;B、k=a>b;C、k=a<=b;D、a<=b ? 0 : 1;8. 设变量定义为“int a, b;”,执行下列语句时,若a和b的值都是10,则应输入(D)scanf("a=%d, b=%d",&a, &b);A、10 10B、10, 10C、a=10 b=10D、a=10, b=109. 下列程序的输出结果是(D)fun(int a, int b, int c){ c =a*b; }void main( ){ int c;fun(2,3,c);printf(”%dn”,c);}A、0B、1C、6D、无法确定10. 在C程序中,若对函数类型未加说明,则函数的隐含类型为(A)A、intB、doubleC、voidD、char11. 表达式strlen(”hello”) 的值是(B)A、 4B、 5C、 6D、 712. 设变量定义为“int a[4];”,则不符合C语言语法的表达式是(D)A、*aB、a[0]C、aD、a++13. 设变量定义为“int x, *p=&x;”,则&*p相当于(A)A、pB、*pC、xD、*&x14. 若变量已正确定义,不能使指针p成为空指针的是(A)A、p=EOFB、p=0C、p=’’D、p=NULL15. 对于以下的变量定义,不符合C语言语法的表达式是(D)struct node {int len;char *pk;} x = {2, "right"}, *p = &x;A、p->pkB、*p.pkC、*p->pkD、*x.pk16. 有如下程序\d\n”,r);该程序的输出的结果是 (D)17. 对于基类型相同的两个指针变量之间,不能进行的运算是 (C)-18. 有如下程序-1)+fib(n-2));\n”,fib(3));该程序的输出结果是 (B)2 B} 4 C} 6 D} 819. 有如下定义根据上述定义,能输出字母M的语句是 (D)\n”,class[3].mane);\n”,class[3].name[1]);t(“%c\n”,class[2].name[1]);\n”,class[2].name[0]);20. 以下所列的C语言常量中,错误的是 (B)\72’21. 有以下程序段循环执行的次数是 (A)无限次 B) 有语法错,不能执行一次也不执行 D) 执行1次22. 以下程序的输出结果是 (C)) 29 C) 31 D) 无定值fun(5,2,a);printf(“%d”,a);23. 下列程序段的输出结果是 (A)}fun(&y,&x);printf(“%d %d”,x, y);24. 当调用函数时,实参是一个数组名,则向函数传送的是 (B)数组的长度 B) 数组的首地址数组每一个元素的地址 D) 数组每个元素中的值25. 以下程序的输出结果是 (A)if(n= =1 || n= =2) s=2;else s=n-fun(n-1);return s;\n”, fun(3)); }26. 以下程序的输出结果是 (B)a/=SQR(k+m)/SQR(k+m);printf(“d\n”,a);27. 有以下程序main(){ int m=3,n=4,x;x=-m++;x=x+8/++n;printf("%d\n",x);}程序运行后的输出结果是:(D)A)3 B)5 C)-1 D)-228. 以下叙述中正确的是:(A)构成C程序的基本单位是函数可以在一个函数中定义另一个函数函数必须放在其它函数之前所有被调用的函数一定要在调用函数之前进行定义29. 以下选项中非法的表达式是:( D )A)0<=x<100 B)i=j==0 C)(char)(65+3) D)x+1=x+130. 下列条件语句中,功能与其他语句不同的是:(D)A) if(a) printf("%d\n",x); else printf("%d\n",y);B) if(a==0) printf("%d\n",y); else printf("%d\n",x);C) if (a!=0) printf("%d\n",x); else printf("%d\n",y);D) if(a==0) printf("%d\n",x); else printf("%d\n",y);31. 以下不能定义为用户标识符的是:( D )A)scanf B)Void C)_3com_ D)int32. C语言中用于结构化程序设计的三种基本结构是:(A)顺序结构、选择结构、循环结构 B) if、switch、break、while、do-while D) if、for、continue33. 若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是:( A )A) scanf("%d%d%d",&a,&b,d); B) scanf("%d%d%d",&a,&b,&d);C) scanf("%d%d%d",a,b,d); D) scanf("%d%d%d",a,b,*d);34. 若有定义:int aa[ 8];。
C++试题整理(流年·若水)『填空』共254题(一)1.设int x=1/4;则x的值为【1】。
答案:1). 02.执行语句char str[81]="abcdef";后,字符串str结束标志存储在str[【1】](在括号内填写下标值)中。
答案:1). 63.设x 的值为15,n 的值为2,则表达式x*=n+3 运算后x 的值是【1】。
答案:1). 754.表达式6+'\x43'+010+0x10的值是【1】。
答案:1). 975.下面程序段的输出结果是【1】。
inta=12;a=a&052;printf("%d\n",a); 答案:1). 86.已知a=10,b=15,c=1,d=2,e=0,则表达式(c==b)>e的值为【1】. 答案:1). 07.int a=1,b=2,c=3; 执行语句a=b=c;后a的值是【1】。
答案:1). 38.表达式'a'+10+'\102'+010+0x11的值是【1】。
答案:1). 198 9."a"在内存中占【1】个字节。
答案:1). 210.以下程序的输出结果为【1】。
#include "stdio.h"void main(){int a;for(a=0;a<10;a++);printf("%d",a );}答案:1). 1011.C语言中,数组名是一个不可变的【1】量,不能对它进行加减和赋值运算。
答案:1). 地址12.getchar()函数只能接收一个【1】。
答案:1). 字符13.已知i=5;写出语句i+=012; 执行后整型变量i 的十进制值是【1】。
答案:1). 1514.设有以下结构类型说明和变量定义,则变量a在VC环境下内存所占字节数是【1】。
struct stud{ char num[6];int s[4];double ave;} a,*p;答案:1). 3015.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是【1】。
一、判断题(每小题1分,共10个小题,共10分)1、printf可以作为变量名使用。
( )2、在标准C中,“=”是判断两个数是否相等.( )3、C语言中实参到形参传递是双向的.()4、"a"是合法的字符串常量。
()5、C语言中,以0代表“假”,以非零代表“真”.( )6、二维数组可以这样定义:int a[3][4].()7、设“char a[10]="abc””;则strlen(a)的值为3。
( )8、一个C语言源程序文件中有且只能有一个主函数。
( )9、不能用"r”方式打开一个并不存在的文本文件。
()10、打开文件使用fclose函数。
()二、选择题(每小题2分,共40个小题,共80分)1、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )【A】函数调用可以作为一个函数的形参【B】函数调用可以作为一个函数的实参【C】函数调用可以出现在表达式中【D】函数调用可以作为独立的语句存在2、以下程序运行后的输出结果是( ),︹符号表示空格。
【3、若运行时给变量x输入12,则以下程序的运行结果是( )【4、以下说法正确的是( )【A】C语言程序总是从第一个的函数开始执行【B】在C语言程序中,要调用函数必须在main()函数中定义【C】C语言程序中的main()函数必须放在程序的开始部分【D】C语言程序总是从main()函数开始执行5、若执行下述程序时,若从键盘输入6和8时,结果为( )【6、以下叙述中正确的是()【A】可以在一个函数中定义另一个函数【B】构成C程序的基本单位是函数【C】main()函数必须放在其他函数之前【D】所有被调用的函数一定要在调用之前进行定义7、下列程序段的输出结果是()【【C】1234,123.5,12345。
5 【D】1234,123。
4,1234.58、已知字母A的ASCII码为十进制数65,且C1为字符型变量,则执行语句C1=’A’+’6'—‘3’后C1的值为()【A】B 【B】C 【C】d 【D】D9、设有以下程序段( )【【C】程序段中的控制表达式是非法的【D】程序段执行无限次10、执行下面的程序段后,变量k中的值为()【11、以下程序段的描述,正确的是( )【12、有如下程序段,执行该程序段后,x的值为( )【13、以下选项中不是字符常量的是()【A】”C" 【B】'C’【C】’\xF1’【D】’\071’14、一个C语言程序是由( )【A】一个主程序和若干子程序组成【B】函数组成【C】若干过程组成【D】若干子程序组成15、请选出可用作C语言用户标识符的是( )【A】temp,fname,dir—name 【B】if,_123,var1【C】FOR,_abc,Case 【D】2a,Do,Sizeof16、以下不正确的叙述是( )【A】在C程序中,逗号运算符的优先级最低【B】在C程序中,APH和aph是两个不同的变量【C】若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变【D】当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值17、下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,在划线处应填入的选项是()【18、下面程序的运行结果是( )【19、下列程序的输出结果是()【20、下列数据中,不合法的C语言实型数据的是( )【A】0。
《C综合练习 3 --- 函数与指针》一、选择题1. 程序中调用了库函数strcmp,必须包含头文件()。
若是调用库函数gets呢?A、math.hB、string.hC、ctype.hD、stdio.h2.数组声明为“int y[4][3];”,表达式“*(y+2)+2-*y”的值为()。
A. 10B. 20C. 16D. 83.指针变量p1、p2类型相同,要使p1、p2指向同一变量,哪一个语句是正确的( )。
A、p2=*&p1;B、p2=**p1;C、p2=&p1;D、p2=*p1;4.数组定义为“int a[4][5];”,下列哪一个引用是错误的( )。
A、*aB、*(*(a+2)+3)C、&a[2][3]D、++a5.表达式“c=*p++”的执行过程是()。
A、复制*p的值给c后再执行p++B、复制*p的值给c后再执行*p++C、复制p的值给c后再执行p++D、执行p++后将*p的值复制给c6.函数strcmp("Int","int"))的返回值为。
A、0B、-32C、"intInt"D、"Intint"7.函数f定义如下,执行语句“sum=f(5)+f(3);”后,sum的值应为。
int f(int m){ static int i=0; int s=0;for(; i<=m; i++) s+=i;return s;}A、21B、16C、15D、88.下列语句定义x为指向int类型变量a的指针,其中哪一个是正确的。
A、int a,*x=a;B、int a,*x=&a;C、int *x=&a,a;D、int a,x=a; 9.声明语句为“int a[3][4];”,下列表达式中与数组元素a[2][1]等价的是。
A、*(a[2]+1)B、a[9]C、*(a[1]+2)D、*(*(a+2))+1 10.对于以下递归函数f,调用f (2) 的返回值是。
安徽农业大学JAVA试题(3)一、选择题5.在面向对象数据模型中,子类不但可以从其超类中继承所有的属性和方法,而且还可以定义自己的属性和方法,这有利于实现A、可移植性B、可扩充性C、安全性D、可靠性11.下列特点中,哪个是Java 虚拟机执行的特点之一?A、字节代码B、多进程C、静态连接D、编译12.Java语言的类型是A、面向对象语言B、面向过程语言C、汇编程序D、形式语言13.下列哪个数代表单精度浮点数?A、0652B、3.4457DC、0.298fD、0L14.下列说法错误的是A、接口是多继承的具体实现形式。
B、3305L是长整型数。
C、03916是八进制数。
D、?:是三目条件运算符。
15.以下哪个表达式是不合法的A、String x="Hello"; int y=9; x+=y;B、String x="Hello"; int y=9; if(x==y){}C、String x="Hello"; int y=9; x=x+y;D、String x=null; int y=(x!=null)&&(x.length()>0)? x.length():0;16.下列程序段的输出结果是public class operatorsandExpressions{void stringPlus(){int a=3,b=4,c=5;System.out.println("abc"+3);}}A、15B、abc3C、256D、6317.main()方法的返回类型是:A、intB、voidC、booleanD、static18.以下程序的输出结果是public class koo{public static void main(String args[]){int x=1,sum=0;while(x<=10){sum+=x;x++;}System.out.println("sum="+sum);}}A、45B、55C、10D、1119.下列对继承的说法,哪个是正确的?A、子类能继承父类的所有方法和状态B、子类能继承父类的非私有方法和状态C、子类只能继承父类public方法和状态D、子类只能继承父类的方法,而不继承状态20.下列关于构造方法的说法正确的是A、因为构造方法名与类名必须相同,所以构造方法的首字母必须大写。
第七章数组一、填空:(1) 下列程序段的输出结果是【1】。
main(){ char b[]=”Hello,you”;b[5]=0;printf(“%s \n”, b );}(2) 以下程序的输出结果是【2】。
main(){ char s[]="abcdef";s[3]=‘\0';printf("%s\n",s);}(3) 若已定义:int a[10], i;,以下fun函数的功能是:在第一个循环中给前10个数组元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使a数组前10个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、1。
请填空。
fun( int a[ ]){ int i;for(i=1; i<=10; i++)【3】=i;for(i=0; i<5; i++) 【4】=a[i];}(4) 若有以下程序main(){ int a[4][4]={{1,2,-3,-4},{0,-12,-13,14} ,{-21,23,0,-24},{-31,32,-33,0}};int i,j,s=0;for(i=0;i<4;i++){ for(j=0;j<4;j++){ if(a[i][j]<0) continue;if(a[i][j]==0) break;s+=a[i][j];}}printf("%d\n",s);}执行后输出结果是【5】(5) 函数YangHui的功能是把杨辉三角形的数据赋给二维数组的下半三角,形式如下11 11 2 11 3 3 11 4 6 4 1.其构成规律是:(1)第0列元素和主对角线元素均为1(2)其余元素为其左上方和正上方元素之和(3)数据的个数每行递增1请将程序补充完整。
#define N 6void yanghui(int x[N][N]){ int i,j;x[0][0]=1;for(i=1;i<N;i++){ x[i][0]=【6】=1;for(j=1;j<i;j++)x[i][j]= 【7】;}}(6) 以下函数的功能是删除字符串s中的所有数字字符。
请填空。
viod dele(char *s){ int n=0,i;for(i=0;s[i];i++)if(【8】)s[n++]=s[i];s[n]=【9】;}二、选择:(1) 若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是A) &t[3][2] B ) t[3] C) t[1] D) t[2](2) 以下程序的输出结果是main(){ 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]);}A) 1,5,9 B) 1,4, 7C) 3,5,7 D)3,6,9(3) 以下程序的输出结果是main(){ int a[3][3]={ {1, 2},{3,4},{5,6} },i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf(“%dn”,s);}A) 18 B) 19 C) 20 D)21(4) 当执行下面的程序时,如果输入ABC,则输出结果是#include “stdio.h ”#include “string.h”main(){ char ss[10]=“1,2,3,4,5”;gets(ss); strcat(ss, “6789”);printf(“%s\n”,ss);}A) ABC6789 B) ABC67C) 12345ABC6 D) ABC456789(5) 以下程序段的输出结果是char s[]="\\141\141abc\t";printf ("%d\n",strlen(s));A) 9 B)12 C) 13 D) 14(6) 以下程序的输出结果是main(){ char ch[3][5]={"AAAA","BBB" ,"CC"};printf("\"%s\"\n",ch [1]);}A) "AAAA" B) "BBB"C) " BBBCC" D) "CC"(7) 以下不能正确进行字符串赋初值的语句是A) char str[5]="good!"; B) char str[]="good!";C) char *str="good!"; D ) char str[5]={…g',…o',…o',…d'};(8) 若有定义:int aa[ 8];则以下表达式中不能代表数组元aa[1]的地址的是A) &aa[0]+1 B) &aa[1] C ) &aa[0]++ D) aa+1(9) 以下程序的输出结果是main(){ int b[3][3]={0,1,2,0,1,2,0,1 ,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++) t=t+b[i][b[j][ j]];printf("%d\n",t);}A) 3 B) 4 C) 1 D) 9(10) 以下定义语句中,错误的是A) int a[]={1,2}; B) char *a[3];C) char s[10]=”test ”; D) int n=5,a[n];(11) 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A) 3 B) 6 C) 10 D) 20(12) 以下程序的输出结果是main(){ int i, a[10];for(i=9;i>=0;i--) a[i]=10-i;printf(“%d%d%d”,a[2],a[5],a[8] );}A) 258 B) 741 C) 852 D) 369(13) 以下数组定义中不正确的是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}};(14)有以下程序main(){char a[]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘h’,‘\0’};int i,j;i=sizeof(a);j=strlen(a);printf(“%d,%d\b”i,j);}程序运行后的输出结果是A)9,9B)8,9 C)1,8D)9,8(15)有以下程序main(){intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,s=0for(i=0;i<4;i++)s+=aa[i][1];printf(“%d\n”,s);}程序运行后的输出结果是A)11 B)19 C)13 D)20(16) 以下能正确定义数组并正确赋初值的语句是A) int N=5,b[N][N];B) int a[1][2]={{1},{3}};C) int c[2][]={{1,2},{3,4}};D) int d[3][2]={{1,2},{3,4}};(17)有以下程序main(){ int m[][3]={1,4,7,2,5,8,3,6,9};int i,j,k=2;for(i=0;i<3;i++){ printf("%d ",m[k][i]); }}执行后输出结果是A) 4 5 6 B) 2 5 8 C) 3 6 9 D) 7 8 9(18) 有以下程序main(){ char s[]="\n123\\";printf("%d,%d\n",strlen(s),sizeof(s));}执行后输出结果是A) 赋初值的字符串有错B) 6,7 C) 5,6 D) 6,6(19) 以下程序的输出结果是A) 20 B) 21 C) 22 D)23main(){ int i, k, a[10], p[3];k=5;for (i=0;i<10;i++) a[i ]=i;for (i=0;i<3;i++) p[i ]=a[i * (i+1)];for (i=0;i<3;i++) k+=p[i] *2;printf(“%d\n”,k);}。