版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机程序设计基础(c语言)习题单项选择题计算机程序设计基础(C语言)单项选择练习题、基本概念1. C语言程序是由构成的。A)一些可执行语言B)main 函数2. 是构成C语言程序的基本单位。A)函数B)过程C3 . C语言可执行程序从开始执行。A)程序中第一条可执行语句B)C)程序中的 main函数D)C)函数D)包含文件中的第一个函数)子程序D)子例程程序中第-一个函数包含文件中的第一个函数34 . C语言程序从 main()函数开始执行,所以这个函数要写在A)程序文件的开始B)程序文件的最后C)它所调用的函数的前面D)程序文件的任何位置5. 以下说法中正确的是 A ) C语言程序总是从第
2、一个定义的函数开始执行B )在C语言程序中,要调用的函数必须在 main()函数中定义C ) C语言程序总是从 main()函数开始执行D ) C语言程序中的 main()函数必须放在程序的开始部分6. 下列方法中错误的是 。A )主函数可以分为两个部分:主函数说明部分和主函数体。B)主函数可以调用任何非主函数的其它函数。C)任何非主函数可以调用其它任何非主函数。D)程序可以从任何非主函数开始执行。7. 下歹y关于 c语言的说法错误的是 。A)C程序的工作过程是编辑、编译、连接、运行B)标识符的命名由英文字母、数字和下划线组成,与字母的大小写无关C)C程序的三种基本结构是顺序、选择、循环D)一
3、个C程序总是从main函数开始执行的8. 系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才能运行?A)编辑?编译B ) 编辑?连接C)编译?连接D)编辑?改错9. 下歹y说法中正确的是 。A )由于C源程序是高级语言程序,因此一定要在TC软件中输入。B)由于C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入。C)由于C程序是高级语言程序,因此输入后即可执行。D)由于C程序是高级语言程序,因此它是由命令组成的。二、数据类型、运算符与表达式1. 不是C语言提供的合法关键字是 A) switchB) cherC) caseD) default2. C语言提供
4、的合法关键字是 。A) nextB)stringC )do caseD )struct3. 下列不属于C语言中关键字的是 。A)lo ngB)pri ntC)default D)typedef4. 下列不正确的标识符是。A).-a1B).aiC)a2_iD)i nt t5. 下列C语言用户标识符中合法的是 C)i nt D)%5fA)*yB)sum6. 下面四个选项中,合法的标识符是C) 6aA ) auto B) define7 下列C语言用户标识符中合法的是A)3axB)xC)caseD)-e2D) A.datD ) 123A) voidB) a3_b3C) Fordefi ne_123-
5、abcDOWORDsumCasesizeof8.以下选项中合法的用户标识符是 。A) longB) _2TestC) 3Dmax9 .下列四组选项中,正确的 C语言标识符是 A) %x B ) a+bC) a12310.请选出可用作 C语言用户标识符的一组标识符11、下列四组字符串中都可以用作D) 2aC语言程序中的标识符的是 )Iam on e_half start$it 3pai)Pxq My->book lin e# His.ageA ) print _3d oodb aBcBC ) str_1 Cpp pow whileD12. 下列C语言标识符中合法的变量名是 A)2e3B)y
6、ouC)*yD)float13. C语言中的简单数据类型包括 。A )整型、实型、逻辑型B)整型、实型、逻辑型、字符型C )整型、字符型、逻辑型D )整型、实型、字符型14. 下列可以正确表示字符型常量的是 。)297D) ' # 'A ) ' t 'B) ” a ”C) ” n ”D15. 下列常数 是正确的C语言字符常量。A) ” x ”B)e3C) ” COMPUTER ”16. 在下列常量中,属于字符型常量的是 。A) AB) 'a'C) "A"D) b17. 以下选项中合法的字符常量是 A) “ B ”B) n
7、9;C) ' 68 'D) E计算机程序设计基础(c语言)习题单项选择题A)4518 下面字符常量表示错误的是A) ' a 'B) '? 'C) ' n '19.已定义c为字符型变量,则下列语句中正确的是 D) nA) c='97'B) c="97"20.已知ch是字符型变量,不正确的赋值语句是C ) c= a ')c="a"A)ch='a+b' ;B)ch=' 0 ' ; C) ch=' 7'+' 9'
8、21 .C语言中字符型(char)数据在内存中的存储形式是A)原码B)补码C)22 .在C语言中,字符型数据所占的内存空间是A)2个字节 B) 4 字节23 .若int类型数据占2个字节,则unsigned intD)ch=5+9;反码C) 1字节类型数据的取值范围是D)D) ASCII 码由用户自定义A)0 25524.若有以下类型说明语句:B)0 65535C)-32768char a ; int b; float c; double d;32767255D)-256则表达式a*b+d-c的结果类型为A)float B) char25 .若有以下类型说明语句:C) intchar w;i
9、nt x;float y;double z;达式(int)(x+y-z*w)的结果为 C 类型。则表达式D)doublew-x*y/z的结果为D 类型,表A)float B)char26 .C语言中运算对象必须是整型的运算符是C)i ntD)doubleA) %=B) /27.在C语言程序中,表达式 8/5C)=的结果是D)A)1.6B)128.设x为int型变量,则执行语句C)3x=10; x+=x;D)0后,x的值为A) 10B)2029 .为求出s=10!的值,则变量C) 40的类型应当为D) 30A) int30 .如果B) un sigedint a=1,b=2,c=3,d=4C)
10、long则条件表达式"a<b?a:(c<d?c:d)"D)的值是以上三种类型均可A) 131.在C语言程序中,表达式 5%2C.的结果是A)2.5B)232 .如果 int a=3,b=4C)1则条件表达式"a<b? a:b"的值是D)3A) 3B)433 .若 int x=2,y=3,z=4C) 0则表达式x<z?y:zD) 1的结果是A)434 . C语言中,关系表达式和逻辑表达式的值是B) 0 或 1A) 0B)3C)2D)0C) 1D)'或T” F '35 .设a,b和c都是int型变量,且 a=3,b=4
11、,c=5,A) ' a'则下面表达式中,值为0的表达式是36 .设 x、&&' b ' B)a<=bC)a|b+c&&b-cD)!(a<b)&&!c|1)y、z和k都是int型变量,则执行表达式:B)16C)32x=(y=4 , z=16 , k=32)后 x 的值D)52计算机程序设计基础(c语言)习题单项选择题1137.下面表达式的值为4.A) 11/3B)11.0/3C) (float)11/3D)执行(m=a>b)&&(n=c>d) 后n的值为(in t)(11.0/
12、3+0.5)*38. 有:int a=2,b=10,c=3,d=4,m=2, n=1;A) 0B) 139.已知 int x=5,y=5,z=5C) 2;执行语句D)x%=y+z ;后,x的值是没有结果A )040.已知字母B) 1A 的 ASCIIC)5D)6码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-3;后,c2中的值为A) 68F列关于B) DC语言的叙述错误的是C)错误D) dA)大写字母和小写字母的意义相同B)C)不同类型的变量可以在一个表达式中在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型同一个运算符号在不同的场合可
13、以有不同的含义42. 有:int w=11,x=12,y=3,m;D)执行下面语句后m的结果是m=(w<x)?w:x;m=(m<y)?m:y;A)1B) 243.有:int w=7, x=12, y=3, m;C) 3执行下面语句后m的值是D)以上结果都不对m=(w>x)?w:x;m=(m>y)?m:y;A)12B) 0C) 3D) 1*44.设整型变量m,n,a,b,c,d 均为A)0,0B)0,1C)1,00,则执行 “ (m=a=b)|(n=c=d) 后,m” 的值是D)1,145.设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0.5的是A)b=1.0/
14、aB)b=(float)(1/a)C)b=1/(float)aD)b=1/(a*1.0)46.执行语句A)3,3,2“ x=(a=3,b=a-)后,x,a,b 的值依次为B)3,2,2C)3,2,3D)2.3.247.若已定义A)1*48.表达式x和y为double类型,则表达式“ x=1,y=x+3/2B)2C)2.0“1 (0?3:2)(10?1:0) 的值是(的值是D)2.5A)349.若"int n; float f=13.8;B) 2C)1D)0贝U执行"n=(int)f)%3后,n'的值是A)1B)450.设 int x=0, y=1;C)4,33333
15、3D)4.6表达式(x|y)的值是A) 0B) 1C) 2D) -1*51.设a是char型变量,a= ,1则把其值变成整数1的表达式是A)(i nt)a B)i nt(a)C)a=a-48D)a/(i nt)a52. 设x为int型变量,则执行语句x=10; x*=x ;后,x的值为A)10B)20C) 100D) 0则b的值为'53. 若有语句 int a=1,b; double y=2.3; b=(int)y;A) 3B) 2C) 1D) 2.3A)scanf( “ d,%d ”,&x,&y);C) scanf( “ %d%d ”,&x,&y)*5
16、5.使用语句 scanf("x=%f,y=%f",&x,&y)A) 1.25,2.4C) x=1.25,y=2.454. 已知int x;char y; 则下面错误的scanf函数调用语句为B) scanf(“ %d,%c ” ,x,y)D) scanf(“ %d,%c ” ,&x,&y);输入变量x、y的值(代表空格),正确输入是B) 1.25 2.4D) x=1.25 y=2.456 .在C语言的库函数中,可以输出char型变量x值的语句是 A)getchar(x); B)fputc(x)C)putchar(x)D)puts(x)57.
17、设x、y均为整型变量,且x=10 y=3,则语句printf ( ” %d,%dn ” -x,+y);的输出结果是 A) 10,3B) 9,3C) 9,4D)10,458. 以下说法正确的是 。A) 'x'+101是一个错误的表达式B) C语言不允许类型的混合运算C) 强制类型转换时,类型说明符必须加括号D) (int ) x+y 和(int ) (x+y )是完全等价的表达式59 .表达式 sizeof(double) 是。A)函数调用B) double型表达式 C) int型表达式D)非法表达式62.以下运算符中优先级最高的运算符是:A)&&B)+C)?D)
18、!=三、选择结构1. 在C语言中,能代表逻辑值"真"的是A) true2. 表示关系x<=y<=zA) (x<=y)&&( y<=z)大于0的数 C )非0整数 的c语言表达式为B) (x<=y)AND(y<=z)非 0的数C) (x<=y<=z)3.能正确表示逻辑关系:D) (x<=y )&( y<=z)或0a w 0的C语言表达式是A) a>=10 or a<=04、判断char型变量B) a>=0|a<=10 C) a>=10 &&a<
19、;=0c1是否为大写字母的表达式为D) a>=10 II a<=0)(c1>=' A ' ) & (c1<=,Z,)C) (' A' <)=(AND (' Z' >=c1)5.有定义 char c; c=getchar();表示字符变量D ) (c1>= ' )A&& (c1<='c为大写字母的正确表达式为A) ' A6.设有语句=<c<= ' Z' B)"int a=4;b=3,c=-c>= A '
20、&& c<=' C)A=<c<=Z D) c>=A && c<=Z2,d=2;'则逻辑表达式 “ a>0&&b&&c<0&&d>0 的值是A)17设a为整型变量,则不能正确表达数学关系B)0C)-1D)10 v a v 15的C语言表达式是出错A)10<a<15B)a=11|a=12|a=13|a=14C) a>10&&a<15D)!(a<=10)&&!(a>=15)8. 为表示逻辑表
21、达式79<X<90,应使用的C语言表达式是A)( X>79 )&&( X<90 )B) ( X>79 )!=( X<90 )C) 79<X<909.在下面的条件语句中(其中 是_。D) (X>79 )|( X<90 )s1和s2表示是C语言的语句),只有一个在功能上与其它三个语句不等价,它A)if (a) s1 ; else s2;B)if (a= =0) s2; else s1;C)if (a!=0) s1; else s2;D)if (a= =0) s1; else s2;10. 假定所有变量均已正确定义,则下列程
22、序段运行后y的值是int a=0,y=10;if(a=0) y-;else if(a>0) y+;else y+=y;A)20B)11C)9D)011. 假定所有变量均已正确定义,则下列程序段运行后x的值是a=b=c=0; x=35;if(!a) x-;else if(b);if(c) x=3;else x=4;A)34B)4C)35D)312. C 语言对嵌套if语句的规定是:else语句总是与 配对。计算机程序设计基础(c语言)习题单项选择题17A)其之前最近的ifC)缩进位置相同的ifD)13.在C语言语句中,用来决定分支流程的表达式是B)第一个if其之前最近的且尚未配对的 ifA
23、)可用任意表达式C)只能用逻辑表达式14.C语言中用表示逻辑B)只能用逻辑表达式或关系表达式D)只能用关系表达式真”。A) true15.若 k 是 int整数值1B)型变量,且有下面的程序段:C)非零整数值D) falseint k;if (k<=0) printf(“ # ”)else printf(“ &&&& ”)上面程序段的输出结果是OA) #B)&&&&C16. mai n() int x=0,a=0,b=0;switch(x)case 0:b+;case 1:a+;case 2:a+;b+;printf(“a=
24、%d,b=%(” ,a,b);该程序的输出结果是OA) a=2,b=1B) a=1,b=1C) a=1,b=017以下程序的输出结果是:()k= -3;)mai n()#&&&&D)有语法错误,无输出结果D) a=2,b=2 int x=-10,y= 1,z=1;if(y<0) z=0;else z=z+1;"n%d ,z);printf(A) 0B) 118.以下程序段的输出结果是C) 2D) 3int a=10,b=50,c=30;if(a>b)a=b ;b=c ;c=a ;prin tf("a=%2d b=%2d c=%2d
25、n",a,b,c)B) a=10 b=30 c=10A) a=10 b=50 c=10C) a=50 b=30 c=10D) a=50 b=30 c=5019.若int i=10;执行下列程序后,变量i的正确结果是switch ( i ) case 9: i+=1;case 10: i+=1;case 11: i+=1;default : i+=1;D)10A)13B)12C)11四、循环结构1. 在C语言中,下列说法中正确的是()。A)do-while语句构成的循环不能用其它语句构成的循环来代替。B)do-while语句构成的循环只能用break语句退出。C)do-while语句构
26、成的循环在while后的表达式非零时结束循环。D)do-while语句构成的循环,在while后的表达式为零时结束循环。2. break 语句不能出现在 语句中()A) switch B)for C) whileD) if else3 .对于break语句和continue语句的说法错误的是()4.语句 while (! y);中的表达式!y等价于A)y = 0 B)y! = 1 C)y=!0 D) y=15.若有"int a=1,x=1;则循环语句“ while(a<10) x+; a+;的循环执行(A)无限次B)不确定次C)10 次D)9次A)break 语句不能用于循环语
27、句和switch语句之外的任何其他语句中。B)break 和continue也可以用于if语句中C)contin ue语句只结束本次循环,而不是终止整个循环的执行。D)break语句是结束整个循环过程,不再判断执行循环的条件是否成立。)。6.有以下程序段int k=0while(k)k+;B)有语法错,不能执行D)执行1次则while循环体执行的次数是A)无限次C) 一次也不执行7. 下列循环语句中有语法错误的是()A while(x=y) 5; B while(0)C do 2; while(x= =b)D do x+ while(x= =10)8. 当运行时输入:abcd$abcde ,
28、下面程序的运行结果是 #in clude<stdio.h>main ()char c;while(putchar(getchar()!='$');prin tf("e nd");A) abcd$abcde B) abcd$end C ) abcdend D ) abcd$abcdeend9. 以下程序段()x=-1;do x=x*x; while(x>0);A)是死循环B)循环执行一次 C)循环执行二次D)有语法错误10. 下面程序段执行后的结果为:()int sum=O, n=10;do sum=sum+n;n+; while(n<
29、10);/ 添加分号printf( “ d,%d ” ,s um,n)/添加分号A. 0, 10 B) 10, 11 C) 0, 11 D)以上结果都不对11. 对以下程序段的叙述正确的是 .int x=1;do x= -1*x; while(!x)C)循环执行二次D)有语法错误的循环执行”(C)10 次后变量j的值是A)是死循环B)循环执行一次(12. 循环 “ for(i=0,x=1;i=10&&x>0;i+);D)9次A)无限次B)不确定次13. 执行语句for(j=0;j<=3;j+) a=1;A)0 B) 3C)4 D) 114 .有如下程序main ()
30、 int i,sum=2;for(i=1;i<=3;i+=2) sum+=i; printf( “n%d ,sum); 该程序的执行结果是A) 615、执行语句B) 3C)死循环D) 4for ( i=0; i+<3 ;)、3”后,变量i的值为16.设x和y均为int型变量,则执行以下的循环后,for(y=1,x=1;y<=50;y+)y的值为(if(x>=0) break;if(x%2=1) x+=5;co ntinue;x-=3;/此题没有正确答案,y值应该为1A)2B)4C)6D)8计算机程序设计基础(c语言)习题单项选择题五数组1. 以下对一维数组a的正确说明是
31、: A) char a ( 10);B) int a;C)int k = 5 , ak ;D) char a= a ', b ', c ' ;2. 以下能对一维数组a进行初始化的语句是:(C )A) int a5=(0,1,2,3,4,) B) int a(5)=C) int a =0,1,2D) int a5=10*13. 在C语言中对一维整型数组的正确定义为 。A)i nt a(10);B)i nt n=10,a n;C)i nt n ;a n;D)#defi ne N 10int aN;4. 已知:int a10; 则对a数组元素的正确引用是()。A 、a10 B
32、 、a3.5 C 、a(5) D、a10-105. 执行下面的程序段后,变量k中的值为 A) 不定值 B) 33C) 30D) 10int k=3, s2;sO=k; k=s0*10;6. 下列说法中错误的是A 构成数组的所有元素的数据类型必须是相同的B用指针法引用数组元素允许数组元素的下标越界C 一维数组元素的下标依次是 1、2、3D定义数组时的长度可以是整型常量表达式/修改“大”和“小”位置7. 若有以下数组说明,则数值最小的和最大的元素下标分别是()。int a12=1,2,3,4,5,6,7,8,9,10,11,12;A)1,12B)0,11C)1,11D)0,12int a12=1,
33、4,7,10,2,5,8,11,3,6,9,12;A)10B)9C)69. 假定int类型变量占用两个字节,其有定义:A) 3B) 6C) 1010. 若有说明:int a3=1,2,3,4,5,6,7;8. 若有以下数组说明,则i=10;aai元素数值是()。D) 5int x10=0,2,4;,则数组x在内存中所占字节数是D) 20则数组a的第一维的大小为:()则数组a的第一维的大小为:()A) 2B) 3 C) 4 D) 无确定值11. 若有说明:int a3=1,2,3,4,5,6,7;A) 2B) 3 C) 4 D)无确定值12. 以下定义语句中,错误的是A) int a=1,2;B
34、) char *a3;C) char s10=“ test " D) int n=5,an;13. 下面程序段的输出结果是:int i;int x33=1,2,3,4,5,6,7,8,9;for (i=0;i<3;i+)printf("%d ”,xi2-i);A) 1 5 9 B) 1 4 7C) 3 5 7 D) 3 6 914. 对二维数组的正确定义是()A)int a =1,2,3,4,5,6; B)int a2 =1,2,3,4,5,6;C)i nt a 3=1,2,3,4,5,6;D)i nt a2,3=1,2,3,4,5,6;15 .已知int a34;则
35、对数组元素引用正确的是 .A)a24B)a1,3C)a20D)a(2)(1)*16.若有以下的定义:int t32; 能正确表示t数组元素地址的表达式是 A) &t32 B) t3 C) t12D) t217 .下面程序的输出结果是。mai n()in t m33= 1, 2, 3 ;int n33= 1,2, 3 ;prin tf("%d", m10+n00);prin tf("%d", m01+n10);A) 30B ) 34 C) 56 D) 1119计算机程序设计基础(c语言)习题单项选择题六、函数1. C语言中函数返回值的类型是由 决定
36、的A)函数定义时指定的类型B) return语句中的表达式类型C)调用该函数时的实参的数据类型D)形参的数据类型2. 在C语言中,函数的数据类型是指()A函数返回值的数据类型B)函数形参的数据类型C调用该函数时的实参的数据类型D)任意指定的数据类型3 . C程序中函数返回值的类型是由 决定的A)函数定义时指定的函数类型B)函数中使用的最后一个变量的类型C)调用函数时临时确定D)调用该函数的主调函数类型4. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为()A)由系统选择B)单向值传递C)由用户指定传递方式D.地址传递5. 在函数调用时,以下说法正确的是()A)函数调用后必须带回
37、返回值B)实际参数和形式参数可以同名C)函数间的数据传递不可以使用全局变量D)主调函数和被调函数总是在同一个文件里6. 在C语言程序中,有关函数的定义正确的是()。A)函数的定义可以嵌套,但函数的调用不可以嵌套B)函数的定义不可以嵌套,但函数的调用可以嵌套C)函数的定义和函数的调用均不可以嵌套D)函数的定义和函数的均可以嵌套7. 以下对C语言函数的有关描述中,正确的是()。A)在C语言程序中,调用函数时,只能把实参的值传递给形参,形参的值不能传送给实参B)C语言函数既可以嵌套定义又可递归调用C)C语言函数必须有返回值,否则不能使用函数D)在C语言程序中有调用关系的所有函数必须放在同一个源程序文
38、件中8. C语言中对函数的描述正确的是_A)可以嵌套调用,不可以递归调用B)可以嵌套定义C)嵌套调用,递归调用均可D)不可以嵌套调用9. 以下叙述中正确的是 A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)ma in ()函数必须放在其它函数之前D)所有被调用的函数一定要在调用之前进行定义10. 用数组名作为函数调用时的实参时,传递给形参的是 。A)数组首地址B)数组第一个元素的值C)数组全部元素的值D)数组元素的个数11. 有一函数的定义如:void fun(char *s),则不正的函数调用是()。A. ma in()char a20=” abcdefghfun( a)
39、;B. ma in() char a20=” abcdefghfun(&a0);C. main() char a20=” abcdefghchar *p=a;fu n( p);D. main()abcde fghchar a20= fun (a);*12.函数的功能是交换 x和y中的值,且通过正确调用返回交换结果。不能正确执行此功能的函数是()。A. fun a(i nt *x, i nt *y) int i,*p=&i;*p=*x;*x=*y;*y=*p;B. fun a(i nt x, int y) int t;t=x;x=y;y=t;C. funa(int *x, int
40、 *y) in t p;p=*x; *x=*y; *y=p;D. funa(int *x, int *y) *x=*x+*y; *y=*x-*y; *x=*x-*y;13、函数的功能是交换变量x和y中的值,且通过正确调用返回交换的结果。能正确执行此功能的函数是()。21 A、funa(int *x, int *y) int *p;B、funb(int x , int y) int t;t=x;x=y;y=t;计算机程序设计基础(c语言)习题单项选择题*p=x ; *x=*y; *y=*p;D、fund(int *x, int *y)C、func(int *x, int *y) int t;*x
41、=*y; *y=*x;25t=*x;*x=*y;*y=t;14. 有如下程序int fun c(i nt a,i nt b) return(a+b);main () int x=2,y=x,z=8,r;r=func(fun c(x,y),fu nc(y,z);printf(“ r%d ,r); 该程序的输出的结果是 C) 14D) 15A) 12B) 1315. 以下程序的输出结果是 int a, b;void fun () a=100; b=200; mai n() int a=100, b=100;fun ();printf( %d n ” , a,b);A) 100200B)100100
42、C)200100D)20020016. 下列说法中正确的是:(A )局部变量不起作用。A. 局部变量在一定范围内有效,且可与该范围外的变量同名。B. 如果一个源文件中,全局变量与局部变量同名,则在局部变量范围内,C. 局部变量缺省情况下都是静态变量。D. 函数体内的局部静态变量,在函数体外也有效。17. 在C语言中,表示静态存储类别的关键字是:A) autoB) registerC) staticD) exter n18 未指定存储类别的变量,其隐含的存储类别为()。A)auto B)static C)extern D)register七指针1 . 语句int *p; 说明了 。A) p是指向
43、一维数组的指针B) p是指向函数的指针,该函数返回一 int型数据C) p是指向int型数据的指针D) p是函数名,该函数返回一指向int型数据的指针2. 变量的指针,其含义是指该变量的:()A) 值B)地址 C) 名 D) 一个标志3. 若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是A) pb=&x B) pb=xC) *pb=&xD) *pb=*x4、已知:int a, *p=&a;贝U下列函数调用中错误的是( )A、scanf(“ d”,&a);、scanf(“ d”,p);C、prin tf(“ d”,a); D、printf(“ d
44、”,p);5.对于冋类型的指针变量,不可能进行的运算是()。A)-B)=C)+D)=6.对于基类型相同的两个指针变量之间,不能进行的运算是A) <B) =C) +D)-7 .下列不正确的定义是( )。A. int *p=&i ,i;B)i nt *p,i;C. int i,*p=&i;D)int i,*p;8. 若有说明:int n=2,*p=&n,*q=p,则以下非法的赋值语句是:A) p=q B ) *p=*q C ) n=*qD) p=n9. i nt *p,a=10,b=0;p=&a; a=*p+b;执行该程序段后,a的值为A)编译出错B) 10C
45、) 11D) 1210 .有语句:int a10,; 则是对指针变量p的正确定义和初始化。A)in t p=*a; B)i nt *p=a;C)i nt p=&a; D)i nt *p=&a;11. 若有说明语句"int a5,*p=a;则对数组元素的正确引用是()。A)ap B)paC)*(p+2)D)p+2的表示方法中正确的12. 若指针变量p指向整型数组a10的首地址,即p=a ;则下列数组元素 ai(0<i<10) 是:(:A) p+i B)&( a+i)C) *(a+i) D) *(p+i*2)13. 有如下程序int a10=1,2,3
46、,4,5,6,7,8,9,10,*P=a;则数值为9的表达式是 A) *P+9B) *(P+8)C) *P+=9 D) P+814. 若有以下定义,则不能表示a数组元素的表达式是()int a10=1,2,3,4,5,6,7,8,9,10,*p=a;A)*pB)a10C)*a D)ap-a15. 已知int a5,*p=a;下面的叙述中正确的是 。A) p+1 与a+1等价 B) p1与*p等价C) *(p+1)与 a+1 等价 D) p1 与 a+ 等价16. 若有以下说明:int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为4的表达式是A) *p+4B) *(p+4
47、)C) *(p+3) D) p+317. 下面程序的输出结果是 A) 0B) 1mai n() int a =1,2,3,4,5,6,7,8,9,0,*p;C) 2D)输出错误p=a;printf(“n%d ,*p+1);18.执行语句 char c10=abcd ” §pc=(pc+4)的值是()A) “ abcd ” B) '' C) d'不确定19 下列函数的功能是 void fun (i nt *p1, int *p2) in t p;p=*p1;*p1=*p2;*p2=p;A)交换*p1和*p2的值 B) 语法正确,但无法交换 *p1和*p2的值C)
48、交换*p1和*p2的地址 D)有语法错误20. 有如下程序main () char s=“ ABCD ” , *P;for(p=s+1; p<s+4; p+) printf (n ” ,p) “ %s该程序的输出结果是A) ABCDB) AC) BD) BCDBCDBCCDCDCDDDD计算机程序设计基础(c语言)习题单项选择题21. 请读程序,输出结果为:()#i nclude<stdio.h>int a=2,4,6,8;main () int i,b4;int *p=a;for(i=0;i<4;i+) bi=*p; p+;prin tf("%dn"
49、;,b2);A) 6B) 8C) 4D) 2*22 .内存空间被分成不同区域,其中用函数void* malloc(unsigned int size);申请的内存在分配。A)程序区 B )静态存储区C)堆区D )栈区29八、结构体1. 若有以下说明语句:struct stude nt int num;char n ame;float score;stu;则下面的叙述不正确的是:()A) struct是结构体类型的关键字B) struct stude nt是用户定义的结构体类型C) num, score都是结构体成员名D) stu是用户定义的结构体类型名2. 若有以下说明语句:struct da
50、te int year;int mon th;int day;brithday;则下面的叙述不正确的是 .A) struct是声明结构体类型时用的关键字B) struct date是用户定义的结构体类型名C) brithday是用户定义的结构体类型名D) year,day都是结构体成员名3. 已知:(设整型2字节,字符型1字节,浮点型 4字节)struct int i ;char c ;float a ;test ;贝U sizeof(test)的值是 。A) 4 B) 5 C) 6D) 74. 以下对结构变量stul中成员age的非法引用是 struct stude nt int age ;
51、int num ;stu1,*p ;p=&stul ;A) stul.age B) stude nt.ageC) p->age D) (*p).age5. 有如下定义struct pers on char n ame9; int age;struct person class10=“ Tom ”,17,“ John ” ,19,“ Susan ” ,18,“ Adam ” ,16,;根据上述定义,能输出字母A的语句是A) printf(n "%cclass3 .n ame);B) printf(n "%cclass3. name0);C) pri ntf(n
52、"%cclass3 .n ame1);D) pri ntf(n "%cclass2 .n ame3);6. 存放100个学生的数据、包括学号、姓名、成绩。在如下的定义中,不正确的是()。A . struct studentint sno;char n ame20;float score ; stu1OO;B. struct stude nt stu1OOint sno;char n ame20;float score;C. struct int sno;char n ame20;float score; stu100;D. struct stude ntint sno;char n ame20;float score ; ;struct stude nt stu100;输出7. 设有定义语句“ struct int x; int y; d2=1,3,2,7;则 “ pr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 玩具积分兑换采购合同文本
- 标准样本版劳务合同协议
- 建筑拆除环保合同
- 煤炭供应链合同
- 个人短期资金借款合同范本
- 购销合同范本及简化版指南
- 预制箱梁工程分包合同模板
- 户外照明灯具买卖合同
- 2024年度佛山科学研究合同
- 2024年度国际马拉松赛事赞助合作合同范本3篇
- 2024年安徽省初中学业水平考试中考数学试卷(真题+答案)
- 2024年临汾翼城县就业困难高校毕业生公益性岗招考聘用70人重点基础提升难、易点模拟试题(共500题)附带答案详解
- 护理中级职称竞聘
- 现代控制理论智慧树知到期末考试答案章节答案2024年长安大学
- 国际公法学马工程全套教学课件
- 数据安全重要数据风险评估报告
- 汽车维修合伙利益分配协议书
- MOOC 普通地质学-西南石油大学 中国大学慕课答案
- 医疗机构感染预防与控制基本制度试题附有答案
- 生产部文员年终总结
- 半导体芯片知识讲座
评论
0/150
提交评论