版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业C语言程序设计基础知识练习50101、 在C语言源程序中,以下叙述正确的是( )。答案:CA、 main函数必须位于文件的开头 B、 每行只能写一条语句 C、 程序中的一个语句可以写成多行D、 每个语句的最后必须有点号50102、 关于C语言的源程序的叙述中,错误的是( )。答案:CA、 C语言的源程序由函数构成B、 main函数可以书写在自定义函数之后 C、 必须包含有输入语句D、 一行可以书写多个语句50103、 关于C语言数据类型的叙述,正确的是( )。答案:CA
2、、 枚举类型不是基本类型B、 数组不是构造类型C、 变量必须先定义后使用D、 不允许使用空类型50104、 C程序中main函数的位置( )。答案:CA、 必须在最开始B、 必须在系统库函数后面C、 可以在自定义函数后面D、 必须在最后50105、 C语言的函数体由( )括起来。答案:BA、 ( )B、 C、 D、 /* */50106、 关于C语言的叙述中,不正确的是( )。答案:DA、 C程序可由一个或多个函数组成B、 C程序必须包含一个main()函数C、 C程序的基本组成单位是函数D、 注释说明只能位于一条语句的后面50107、 以下叙述不正确的是( )。答案:DA、 C程序的执行总是
3、从main函数开始B、 一个C源程序必须包含一个main函数C、 C语言程序的基本组成单位是函数D、 在编译C程序源程序时,可发现注释中的拼写错误50108、 结构化程序设计的三种基本结构是( )。答案:CA、 函数结构、分支结构、判断结构B、 函数结构、嵌套结构、平行结构C、 顺序结构、分支结构、循环结构D、 分支结构、循环结构、嵌套结构50109、 对于C语言源程序,以下叙述错误的是( )。答案:CA、 可以有空语句B、 函数之间是平等的,在一个函数内部不能定义其它函数C、 程序调试时如果没有提示错误,就能得到正确结果D、 注释可以出现在语句的前面50201、 下面关于C语言用户标识符的描
4、述,正确的是( )。答案:DA、 不区分大小写B、 用户标识符不能描述常量C、 类型名也是用户标识符D、 用户标识符可以作为变量名50202、 以下( )是正确的变量名。答案:DA、 5fB、 ifC、 f.5D、 _f550203、 以下( )是正确的常量。答案:DA、 E-5B、 1E5.1C、 a12D、 32766L50204、 以下( )是正确的变量名。答案:DA、 a.beeB、 -p11C、 intD、 p_1150205、 以下( )是正确的字符常量。答案:CA、 cB、 C、 WD、 32a50206、 以下( )是不正确的字符串常量。答案:AA、 abcB、 1212C、
5、0D、 50207、 以下( )是错误的整型常量。答案:BA、 -0 xcdfB、 018C、 0 xeD、 01150208、 以下( )是正确的浮点数。答案:BA、 e3B、 .62C、 2e4.5D、 12350209、 若有说明语句:char c=95; 则变量c包含( )个字符。答案:AA、 1B、 2C、 3D、 语法错误50301、 若有定义:int a=2; 则正确的赋值表达式是( )。答案:AA、 a-=(a*3)B、 double(-a)C、 a*3D、 a*4=350302、 语句x=(a=3,b=+a);运行后,x、a、b的值依次为( )。答案:CA、 3,3,4B、
6、4,4,3C、 4,4,4D、 3,4,350303、 语句a=(3/4)+3%2;运行后,a的值为( )。答案:BA、 0B、 1C、 2D、 350304、 char型变量存放的是( )。答案:AA、 ASCII代码值B、 字符本身C、 十进制代码值D、 十六进制代码值50305、 若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为( )。答案:CA、 3,3B、 4,4C、 4,3D、 3,450306、 若有定义:int a; 则语句a=(3 * 4)+ 2 % 3;运行后,a的值为( )。答案:BA、 12B、 14C、 11D、 1750307、 若有
7、定义:int a,b; double x,则以下不符合C语言语法的表达式是( )。答案:AA、 x%(-3)B、 a+=-2C、 a=b=2D、 x=a+b50308、 若有定义:int x=2,y=3;float i;,则以下符合C语言语法的表达式是( )。答案:BA、 x=x*3=2B、 x=(y=1)C、 i=float(x)D、 i%(-3)50309、 设double型变量a,b,c,e均有值;对代数式(3ae)/(bc),不正确的C语言表达式是( )。答案:CA、 a/b/c*e*3B、 3*a*e/b/cC、 3*a*e/b*cD、 a*e/c/b*350401、 下面叙述正确的
8、是( )。答案:BA、 2/3 与 2.0/3.0 等价B、 (int)2.0/3 与 2/3 等价C、 +5 与 6 等价D、 A与A等价50402、 下面叙述中,错误的是( )。答案:AA、 其算术运算对象不包含函数B、 %(模运算符)的运算对象只能为整型量C、 算术运算符的结合方向是自左至右D、 自加和自减运算符的结合方向是自右至左50403、 下面叙述正确的是( )。答案:AA、 强制类型转换运算的优先级高于算术运算B、 若a和b是整型变量,(a+b)+是合法的C、 A*B 是不合法的D、 A+B是合法的50404、 若有定义:int k,i=2,j=4; 则表达式 k=(+i)*(j
9、-) 的值是( )。答案:BA、 8B、 12C、 6D、 950405、 设整型变量a为5,使b不为2的表达式是( )。答案:CA、 b=(+a)/3B、 b=6-(-a)C、 b=a%2D、 b=a/250406、 若有定义:int a=1,b=2,c=3; 则语句 +a|+b&+c;运行后b的值为( )。答案:CA、 1B、 0C、 2D、 350407、 若有定义:int i,j;则表达式(i=2,j=5,i+,i+j+)的值是( )。答案:BA、 7B、 8C、 9D、 1050408、 若有定义:int a,b;则表达式(a=2,b=5,a*2,b+,a+b)的值是( )。答案:B
10、A、 7B、 8C、 9D、 1050409、 若有定义:int m=5,n=3;则表达式(m+1,n+1,(-m)+(n-)的值是( )。答案:BA、 6B、 7C、 8D、 950501、 已知 int a;使用scanf()函数输入一个整数给变量a,正确的函数调用是( )。答案:BA、 scanf(%d,a);B、 scanf(%d,&a);C、 scanf(%f,&a);D、 scanf(%lf,&a);50502、 已知 double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是( )。答案:DA、 scanf(%ld,&a);B、 scanf(%d,&a);C、
11、 scanf(%7.2f,&a);D、 scanf(%lf,&a);50503、 已知 char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是( )。答案:BA、 scanf(%d,&a);B、 scanf(%lf,&a);C、 scanf(%c,&a);D、 scanf(%u,&a);50504、 putchar()函数的功能是向终端输出( )。答案:BA、 多个字符B、 一个字符C、 一个实型变量值D、 一个整型变量表达式50505、 getchar()函数的功能是从终端输入( )。答案:DA、 一个整型变量值B、 一个实型变量值C、 多个字符D、 一个字符50506
12、、 若有定义:int x=1234,y=123,z=12;则语句printf(%4d+%3d+%2d, x, y, z);运行后的输出结果为( )。答案:DA、 B、 C、 1234+1234+1234D、 1234+123+1250507、 已有如下定义和输入语句,int a; char c1,c2;scanf(%d%c%c,&a,&c1,&c2);若要求a、c1、c2的值分别为10、A和B,正确的数据输入是( )。答案:AA、 10ABB、 10 A BC、 10A BD、 10 AB50508、 已有如下定义和输入语句:int a,b;scanf(%d,%d,&a,&b);若要求a、b的
13、值分别为10和20,正确的数据输入是( )。答案:BA、 10 20B、 10,20C、 a=10,b=20D、 10;2050509、 以下程序的运行结果是( )。void main() int a=65; char c=A; printf(%x,%d,a,c);答案:DA、 65,aB、 41,aC、 65,65D、 41,6550601、 下面叙述中,( )不是结构化程序设计中的三种基本结构之一。答案:AA、 数据结构B、 选择结构 C、 循环结构D、 顺序结构50602、 下面叙述中,( )不是结构化程序设计三种基本结构的共同特点。答案:AA、 先判断后执行B、 单入口,单出口C、 程
14、序中没有执行不到的语句D、 无死循环50603、 结构化程序设计不包括( )。答案:AA、 最优化B、 自顶而下,逐步细化C、 模块化设计D、 结构化编码50604、 以下运算符中优先级最高的是( )。答案:DA、 B、 |C、 &D、 +50605、 若有定义:int x=3,y=4;则表达式 !x|y 的值为( )。答案:AA、 1B、 OC、 3D、 450606、 若有定义:int i=7,j=8;则表达式 i=j|ij 的值为( )。答案:AA、 1B、 变量i的值C、 0D、 变量j的值50607、 若希望当a的值为奇数时,表达式的值为真,a的值为偶数时,表达式的值为假。则不能满足
15、要求的表达式是( )。答案:CA、 a%2=1B、 !(a%2=0)C、 !(a%2)D、 a%250608、 若有定义:int x=3,y=4,z=5;则值为0的表达式是( )。答案:DA、 x&yB、 x=yC、 x|y+z&y-zD、 !(xy)&!z|1)50609、 若有定义:int a=5,b=2,c=1;则表达式a-bb)&(y=cd) 的值为( )。答案:AA、 0B、 1C、 5D、 650707、 若有定义:int a=2,b=3; float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值是( )。答案:AA、 3.5B、 3
16、.0C、 2.5D、 2.050708、 若有定义:int b=7; float a=2.5,c=4.7;则表达式a+(b/2*(int)(a+c)/2)%4的值是( )。答案:CA、 2.5B、 3.5C、 4.5D、 5.550709、 若有定义:int a=6,b=2;char c1=a,c2=b;则表达式a+b%5+c2-c1的值是( )。答案:CA、 7B、 8C、 9D、 表达式错误50801、 以下的if语句中,x的值一定被重新赋值的是( )。答案:BA、 if(x=y) x+=y;B、 if(xy & x!=y ); x+=y;C、 if(x!=y) scanf(%d,&x);
17、 else scanf(%d,&y); D、 if(xy) z=x+y;else z=x-y;答案:BA、 3B、 -1C、 4D、 不确定 50805、 若有定义:int a=1,b=2,c=3;则执行以下程序段后a,b,c的值分别为( )。if (a=6) printf(%dn,n); else printf(%dn,+n);答案:DA、 4B、 5C、 6D、 750901、 设有整型变量x,下述语句( )不会出现死循环。答案:BA、 for(;x+=1);B、 for(;(x=getchar()!=n;);C、 while(1) x+;D、 for(x=10;x-);50902、 对于
18、整型变量x,与while(!x)等价的是( )。答案:BA、 while(x!=0)B、 while(x=0)C、 while(x!=1)D、 while(x)50903、 对于整型变量x和y,语句 for(x=0,y=0;(y!=123)&(x4);x+) y+; 中的“y+;”被执行( )。答案:AA、 4次B、 0次C、 123次D、 3次50904、 在c语言中while循环和do-while循环的主要区别是( )。答案:BA、 do-while循环体内可以使用break语句,while循环体内不能使用break语句B、 do-while的循环体至少无条件执行一次,while的循环体不
19、是C、 do-while循环体内可以使用continue语句,while循环体内不能使用continue语句D、 while的循环体至少无条件执行一次,do-while的循环体不是50905、 以下程序段运行后,循环体运行的次数为( )。int i=10,x;for (;i10;i+)x=x+i;答案:BA、 10B、 0C、 1D、 无限50906、 以下程序段运行后变量n的值为( )。int i=1,n=1;for (;i3;i+) continue;n=n+i;答案:DA、 4B、 3C、 2D、 150907、 以下程序的运行结果是( )。void main() int sum = 0
20、, item = 0; while(item 5) item+; sum += item; if(sum=5) break; printf(%dn,sum);答案:BA、 10B、 15C、 5D、 650908、 以下程序的运行结果是( )。void main() int sum = 0, item = 0; while(item =6) break; printf(%dn,sum);答案:CA、 10B、 15C、 6D、 750909、 以下程序的运行结果是( )。void main() int sum = 0, item = 0; while(item 5) item+; if(ite
21、m = 2) continue; sum += item; printf(%dn,sum);答案:BA、 10B、 13C、 15D、 151001、 下列数组定义中,正确的是( )。答案:AA、 int a5=0;B、 int a=0 1 2;C、 int a5=0;D、 int a;51002、 下列数组定义中,正确的是( )。答案:AA、 int a10;B、 int n=10,an;C、 int N=10;int aN;D、 int n;scanf(%d,&n); int an;51003、 已知 int a10; 则对a数组元素引用不正确的是( )。 答案:AA、 a10B、 a3+
22、5C、 a10-10D、 a551004、 若有定义:int a3=0,1,2;则a1的值为( )。答案:BA、 0B、 1C、 2D、 351005、 若有定义:int a5=1,2,3,4,5;则语句a1=a3+a2+2-a3-1;运行后a1的值为( )。答案:AA、 6B、 5C、 1D、 251006、 以下能对一维数组a进行正确初始化的语句是( )。答案:DA、 int a5=(0,0,0,0,0);B、 int a5=0;C、 int a5=1,2,3,4,5,6,7;D、 int a=0;51007、 下面程序段的运行结果是( )。int i=0,a=3,4,5,4,3;do a
23、i+; while(a+i5);for(i=0;i5);for(i=0;i2);for(i=0;i5;i+) printf(%d ,ai);答案:AA、 11 2 3 4 5B、 1 2 3 4 5C、 11 12 13 14 15D、 11 12 3 4 5 51101、 设有如下程序段:int a33=1,0,2,1,0,2,1,0,1,i,j,s=0;for(i=0;i3;i+) for(j=0;ji;j+) s=s+aij;则执行该程序段后,s的值是( )。答案:CA、 0B、 1C、 2D、 351102、 有如下定义 int a3=1,2,3,4,5,6,7,8;则数组a的行数是(
24、 )。答案:BA、 2B、 3C、 4D、 无法确定的51103、 以下数组定义中,正确的是( )。答案:DA、 int a23=1,2,3,4,5,6,7;B、 int a=1,2,3,4,5,6,7,8,9;C、 int a2= 1,2,3,4,5,6;D、 int a4= 6;51104、 若有定义:int a34=1,2,0,1,2,3;则a11的值为( )。答案:AA、 0B、 1,2C、 1D、 351105、 若有定义:int a33;则表达式&a21-a的值为( )。答案:AA、 7B、 8C、 6D、 951106、 若有定义:int i=0,x=0;int a33=1,2,
25、3,4,5,6,7,8,9;则以下程序段运行后x的值为( )。for (;i3;i+) x+=ai2-i;答案:CA、 0B、 12C、 15D、 1851107、 若有定义int a23;则对数组元素的非法引用是( )。答案:DA、 a01/2B、 a11C、 a4-40D、 a0351108、 以下数组定义中,正确的是( )。答案:CA、 int a2=1,2,3,4,5;B、 int a2=0,;C、 int a22=1,2,3;D、 int a=1,2,3,4;51109、 若有定义int a3=1,2,3,4,5,6,7,8,9;则表达式sizeof(a)/sizeof(a0)的值为
26、( )。答案:DA、 3B、 4C、 5D、 951201、 设有以下变量定义: char str1=string,str28,*str3,*str4=string;( )是正确的。答案:AA、 strcpy(str1,China);B、 str2=China;C、 strcpy(*str3,China);D、 strcpy(str40,China);51202、 有如下定义: char str6= a,b,0,d,e,f;则语句: printf(%s,str);的输出结果是( )。答案:DA、 abB、 abdefC、 ab0D、 ab51203、 设有如下数组定义: char str8=
27、FuJian;则分配给数组str的存储空间是( )个字节。答案:CA、 6B、 7C、 8D、 951204、 若有定义:char a=abcdef;char b=xyz;则以下程序段运行后屏幕输出为( )。strcpy(a,b);printf(%c,a2);答案:BA、 cB、 zC、 0D、 d51205、 以下程序段运行后屏幕输出为( )。char a=abc0mis;printf(%d,strlen(a);答案:CA、 5B、 8C、 3D、 451206、 若有定义:int a=2;则语句a=strcmp(miss,miss);运行后a的值为( )。答案:BA、 1B、 0C、 -1
28、D、 251207、 以下程序段运行后屏幕输出为( )。 char str=abcd; printf(%d,strlen(str);答案:BA、 4B、 5C、 6D、 751208、 以下程序段运行后屏幕输出为( )。char str80;strcpy(str,hello);printf(%d,strlen(str);答案:AA、 5B、 6C、 7D、 8051209、 若有定义:char str16=abcdm,*ps,*str2=abcdef;( )是正确的。答案:BA、 strcpy(str1,str2); B、 表达式strcmp(str1,str2)的值大于0C、 str1=st
29、r2;D、 表达式strlen(str1)的值为651301、 设有如下函数定义:int fun(char *str) char *p=str; while ( *p != 0) p+; return (p-str);则以下语句执行后的输出结果是( )。printf(%dn,fun(Student);答案:AA、 7B、 8C、 9D、 1051302、 以下程序的运行结果是( )。int fun(int array44) int j; for(j=0;j4;j+) printf(%2d,array2j); printf(n);main() int a44=0,1,2,0,1,0,0,4,2,
30、0,0,5,0,4,5,0; fun(a);答案:AA、 2 0 0 5B、 1 0 0 4C、 0 1 2 0D、 0 4 5 051303、 如下fun函数的类型是( )。fun(float x)double y; int z ; y=x * x ; z=(int)y ; return(z);答案:CA、 voidB、 doubleC、 intD、 float51304、 以下程序运行后屏幕输出为( )。#includeint f(int x,int y) return(x+y);main() int a=2,b=3,c; c=f(a,b); printf(%d+%d=%dn,a,b,c)
31、;答案:BA、 0B、 2+3=5C、 2+3=0D、 3+2=551305、 以下程序运行后屏幕输出为( )。#includeint a=2,b=3;int max(int a,int b) int c; c=ab?a:b; return(c);main() int a=4; printf(%d,max(a,b);答案:DA、 2,3B、 2C、 3D、 451306、 以下程序运行后屏幕输出为( )。#includevoid f(int i) int a=2; a=i+; printf(%d,a);main() int a=1,c=3; f(c); a=c+; printf(%d,a);答
32、案:BA、 4,3B、 3,3C、 4,5D、 3,551307、 若有如下函数定义:int fun() static int k=0; return +k;以下程序段运行后屏幕输出为( )。int i;for(i=1;i=5;i+) fun();printf(%d,fun();答案:DA、 0B、 1C、 5D、 651308、 下面程序的输出结果是( )。#include int global=100;fun()int global=5;return +global;void main() printf(%dn,fun();答案:DA、 100B、 101C、 5D、 651309、 下列
33、关于C语言函数的描述中,正确的是( )。答案:BA、 函数的定义可以嵌套,但函数的调用不可以嵌套B、 函数的定义不可以嵌套,但函数的调用可以嵌套C、 函数的定义和函数的调用都可以嵌套D、 函数的定义和函数的调用都不可以嵌套51401、 若有以下宏定义,#define MOD(x,y) x%y则执行以下程序段后,z的值是( )。int z,a=15,b=100;z=MOD(b,a);答案:DA、 100B、 15C、 11D、 1051402、 以下叙述中,正确的是( )。答案:BA、 “#define PRICE=30”定义了与30等价的符号常量PRICEB、 预编译处理命令行都必须以“#”开
34、头C、 宏名只能包含大写字母和数字字符D、 在程序的一行上可以书写几个有效的宏定义51403、 以下叙述中,正确的是( )。答案:AA、 宏展开不占用运行时间,只占用编译时间B、 预编译处理命令行必须以分号结束C、 一个源程序只能有一个预编译处理命令行D、 使用带参数的宏定义时,应该说明每个参数的数据类型51404、 以下的叙述中不正确的是( )。答案:CA、 宏展开不占用运行时间,只占用编译时间B、 宏名无类型C、 宏名必须用大写字母表示D、 预处理命令行都必须以#号开始51405、 若有定义:#define PI 3,则表达式PI*2*2的值为( )。答案:AA、 12B、 4C、 3D、
35、 不确定51406、 以下程序运行后,屏幕输出为( )。#define MIN(a,b) (a)(b)?(a):(b)main()int x=2,y=3,z; z=2*MIN(x,y); printf(%d,z);答案:CA、 2B、 3C、 4D、 651407、 下面程序的输出结果是( )。#include #define SQR(x) (x*x)void main() int a,b=3; a=SQR(b+2); printf(n%d,a);答案:AA、 11B、 25C、 不定值D、 产生错误51408、 下面程序的输出结果是( )。#include #define ONE 1#def
36、ine TWO ONE+1#define THREE TWO+1void main() printf(%dn,THREE-ONE);答案:CA、 产生错误B、 1C、 2D、 351409、 以下叙述中正确的是( )。答案:BA、 预处理命令行必须位于C源程序的起始位置B、 在C语言中,预处理命令行都以#开头C、 每个C程序必须在开头包含预处理命令行:#includeD、 C语言的预处理不能实现宏定义和条件编译的功能51501、 设有以下语句,则( )是对a数组元素的不正确引用,其中0i10。 int a10=0,1,2,3,4,5,6,7,8,9, *p=a;答案:DA、 ap-aB、 *(
37、&ai)C、 piD、 *(*(a+i)51502、 对于基类型相同的两个指针变量之间,不能进行的运算是( )。答案:CA、 B、 =C、 +D、 -51503、 执行以下程序段的输出结果是( )。 int a=10,*p=&a; printf(%d,+*p);答案:BA、 10B、 11C、 变量a的地址D、 变量a的地址 + 151504、 以下程序段运行后*(p+3)的值为( )。char a=good;char *p;p=a;答案:AA、 dB、 0C、 存放d的地址D、 o51505、 以下程序段运行后*(+p)的值为( )。char a5=work;char *p;p=a;答案:C
38、A、 wB、 存放w的地址C、 oD、 存放o的地址51506、 若有定义:int *p,a=4; p=&a;则以下均代表地址的是( )。答案:BA、 a,pB、 &a,p C、 &a,*pD、 a,*p51507、 若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是( )。答案:DA、 *p=&a;scanf(%lf,p);B、 *p=&a;scanf(%lf,*p);C、 p=&a;scanf(%lf,*p);D、 p=&a;scanf(%lf,p);51508、 在16位编译系统上,若有定义int a=10,20,30,*p=&a;当执行p+;后下
39、列叙述错误的是( )。答案:AA、 p向高地址移了一个字节B、 p与a+1等价C、 语句printf(%d,*p);输出20D、 p指向数组元素a151509、 下面语句正确的是( )。答案:BA、 int *p; *p=20; B、 char *s=abcdef; printf(%sn,s);C、 char str=abcd; str+;D、 char str=a,b,c;printf(%s,str);51601、 若有以下程序段,且0i4,0j3,则不能正确访问a数组元素的是( )。int i,j,(*p)3;int a3=1,2,3,4,5,6,7,8,9,10,11,12;p = a;
40、答案:DA、 *(*(a+i)+j)B、 pijC、 (*(p+i)jD、 pi+j51602、 若函数fun的函数头为: int fun(int i, int j)且函数指针变量p定义如下: int(*p)(int i, int j);则要使指针p指向函数fun的赋值语句是( )。答案:BA、 p=*fun;B、 p=fun;C、 p=fun(i,j);D、 p=&fun;51603、 设有如下变量定义: char aa3=a,b,c,d,e,f; char (*p)3=aa;则以下程序段的运行结果是( )。 p+; printf(%c,*p);答案:DA、 aB、 bC、 cD、 d516
41、04、 以下程序段运行后x的值为( )。int a=1,2,3,4,5,6,7,8;int i,x,*p;x=1;p=&a2;for(i=0;i3;i+)x*=*(p+i);答案:DA、 不确定B、 24C、 120D、 6051605、 以下程序段运行后x的值为( )。 int a=1,2,3,b=4,2,5;int *p,*q;int i,x;p=a; q=b;for(i=0;i3;i+)if(*(p+i)=*(q+i)x=*(p+i)*2;答案:BA、 2B、 4C、 6D、 不确定51606、 以下程序段运行后x的值为( )。 int a9=1,2,3,4,5,6,3,8,9;int
42、*p,*q;int i,x;p=&a0; q=&a8;for(i=0;i3;i+)if(*(p+i)=*(q-i)x=*(p+i)*2;答案:CA、 2B、 4C、 6D、 不确定51607、 下面程序的输出结果是( )。#includevoid main() int i; char *s=abc; for(i=0;i3;i+) printf(%sn,s+i);答案:AA、 abc bc cB、 c bc abcC、 abc c bcD、 a ab abc51608、 下面程序的输出结果是( )。#include void main() char *str=12345,*ps=str+4; p
43、rintf(%cn,ps-4);答案:AA、 1B、 2C、 3D、 错误51609、 以下程序执行时,输入1 2 3 4 5,输出为:#include #define N 5void main()int aN;int *p=a;while(pa) printf(%d ,*(-p);答案:AA、 5 4 3 2 1B、 1 2 3 4 5C、 2 3 4 5 1D、 4 3 2 1 551701、 设有以下定义语句:struct student int num; char name10; float score; wang,zhang;则不正确的叙述是( )。答案:CA、 struct是结构体
44、类型的关键字B、 zhang是结构体变量名C、 wang是结构体类型名D、 num,name,score都是结构体类型student的成员名51702、 设有以下定义语句:struct student int num; char name10; float score; wang,zhang;则变量wang所占的内存字节数是( )。答案:BA、 14B、 16C、 18D、 2051703、 设有如下定义语句:union u_type int i; double x; float f; ;struct str_type char str100; union u_type u2; ;则语句“pr
45、intf(%d, sizeof(struct str_type);”的输出结果是( )。答案:BA、 100B、 116C、 120D、 20051704、 若有定义:struct teacherint num; char name10; char sex; int age; float score;teacher1;则变量teacher1所占用的内存字节数是( )。答案:CA、 5B、 14C、 19D、 2051705、 下列对结构体类型变量定义不正确的是( )。答案:CA、 struct teacherint num; int age;teach1; B、 struct int num;
46、 int age;teach1,teach2;C、 structint num; int age;teacher; struct teacher teach1;D、 struct teacher int num; int age; struct teacher teach1;51706、 若有定义:struct teacherint num; char sex; int age;teacher1;则下列叙述不正确的是( )。答案:DA、 struct是结构体类型的关键字B、 struct teacher是用户定义的结构体类型C、 num,sex,age都是结构体变量teacher1的成员D、
47、teacher1是结构体类型名51707、 以下程序的运行结果是( )。#include union Utype int i; float f;u2;void main() printf(sizeof(u):%dn,sizeof(u);答案:DA、 2B、 4C、 6D、 851708、 以下程序的运行结果是( )。#include union Utype int i; float f;structchar ch2;int i;union Utype u;a;void main() printf(sizeof(a):%dn,sizeof(a);答案:DA、 5B、 6C、 7D、 851709
48、、 以下C语言共用体类型数据的描述中,不正确的是( )。答案:DA、 共用体变量占的内存大小等于所需内存最大的成员所占的内存B、 共用体类型可以出现在结构体类型定义中C、 在定义共用体变量的同时允许对第一个成员的值进行初始化D、 同一共用体中各成员的首地址不相同51801、 若有以下定义:struct link int data; struct link *next; *head, *p;并已建立如下图所示的链表结构: head datanextdatanext.dataNULL 指针p指向如下结点: p datanext 则能够把p所指结点插入到链表中成为链表第2个结点的程序段是( )。答案
49、:AA、 p-next = head-next; head-next = p; B、 head-next = p; p-next = head-next;C、 p.next = head.next; head.next = p; D、 (*head).next = p; (*p).next = (*head).next;51802、 若有以下定义:struct link int data; struct link *next; a,b,c, *head, *p;其中,指针head指向变量a, p指向变量c,a.next指向变量b,链表结构如下图所示: a b c head datanextda
50、taNULL p datanext 则能够把c插入到a和b之间并形成新链表的程序段是( )。答案:DA、 a.next = c; c.next = b;B、 head.next = p; p.next = head.next;C、 head-next = &c; p-next = head-next;D、 (*head).next = p; (*p).next = &b;51803、 若有以下定义:struct link int data; struct link *next; *head, *p;并已建立如下图所示的链表结构: p head datanextdatanext.dataNULL
51、 则能保留链表其它结点,而删除p所指向结点的程序段是( )。答案:AA、 head-next = p-next; free(p);B、 head-next = p; p-next = head-next; free(p);C、 free(p); head-next = p; p-next = head-next; D、 free(p); head-next = p-next; 51804、 若有定义:struct node int data; struct node *next;及函数:void fun(struct node *head) struct node *p=head; while
52、(p) struct node *q=p-next; free(p); p=q; 调用时head是指向链表首结点的指针,整个链表的结构如下图: head 2 15 27 NULL 则函数fun()的功能是( )。答案:AA、 删除整个单向链表B、 删除单向链表中的一个结点C、 显示单向链表中的所有数据D、 创建单向链表51805、 若有定义:struct node int data; struct node *next;及函数: void fun(struct node * head) struct node * p = head; while(p) printf(%d , p-data );
53、 p = p-next; break; 调用时head是指向链表首结点的指针,整个链表的结构如下图: head 5 17 38 NULL 则函数fun()的功能是( )。答案:CA、 删除单向链表B、 显示单向链表中的所有数据C、 显示单向链表中的第一个数据D、 创建单向链表51806、 若有定义:struct node int data; struct node *next;及函数: void fun(struct node * head) struct node * p = head; while(p) printf(%d , p-data ); p = p-next; 调用时head是指
54、向链表首结点的指针,整个链表的结构如下图: head 25 47 13 NULL 则函数fun()的功能是( )。答案:BA、 删除单向链表B、 显示单向链表中的所有数据C、 显示单向链表中的第一个数据D、 创建单向链表51807、 若有如下定义,函数fun的功能是( )。其中head指向链表首结点,整个链表结构如下图: head data data dataNULL struct node int data; struct node *next;int fun(struct node* head) int n=0; struct node* t=head; while(t!=NULL) n+
55、; t=t-next; return n;答案:BA、 删除链表head中的所有结点B、 计算链表head中结点的个数C、 插入一个元素到链表head中D、 创建一个链表head51808、 若有如下定义,函数fun的功能是( )。其中head指向链表首结点,整个链表结构如下图: head data data dataNULL struct node int data; struct node *next;void fun(struct node* head) struct node* t=head; while(t!=NULL) if(t-data%2=0) printf(%d ,t-dat
56、a); t=t-next; 答案:AA、 遍历链表head,输出表中值为偶数的元素B、 建立一个只有表头结点的链表headC、 删除链表head中的第一个结点D、 插入一个元素到链表head中 51809、 下面程序的输出结果是( )。#include #include typedef struct node int data; struct node *next;Node;Node list3=1,&list1,2,&list2,3,0;void print(Node* head) Node* t=head; while(t!=NULL) printf(%d ,t-data); t=t-ne
57、xt; void main() print(list); 答案:AA、 1 2 3B、 0 1 2C、 0 1 3D、 2 3 0 51901、 对枚举类型进行定义,不正确的是( )。答案:AA、 enum b1, 2, 3;B、 enum aA, B, C;C、 enum cD=3, E, F;D、 enum dX=0, Y=5, Z=9;51902、 假定已有如下变量说明和枚举定义: char ch ; int j, k ; enum daysun, mon, tue, wed, thu, fri, sat ; int asat;判断下列语句是否符合语法规则,结果是( )。 char a
58、; /* 语句1 */ j + k = j ; /* 语句2 */ if(amon0) j + ; /* 语句3 */答案:CA、 语句2错误,其它正确B、 语句1正确,其它错误C、 语句3正确,其它错误D、 语句1错误,其它正确51903、 设有如下定义:typedef int *INTEGER;INTEGER p,*q;则( )是正确的叙述。答案:CA、 p是int型变量 B、 q是基类型为int的指针变量C、 p是基类型为int的指针变量 D、 程序中可用INTEGER代替int类型名51904、 在对于无符号数的位运算中,操作数右移一位相当于( )。答案:AA、 操作数除以2B、 操作
59、数乘以2C、 操作数除以4D、 操作数乘以451905、 若有定义:int a=20,b=28,c;则执行语句c=(ab)2;后c的值为( )。答案:AA、 5B、 7C、 80D、 11251907、 下面程序的输出结果为( )。#include void main() enum Weekdaysun=7,mon=1,tue,wed,thu,fri,sat; enum Weekday day=sat; printf(%dn,day);答案:BA、 7B、 6C、 5D、 4 51908、 若有以下类型说明,叙述正确的是( )。typedef struct int num; char *nam
60、e; int score;STU,*PSTU;答案:CA、 STU是变量名 B、 PSTU是变量名 C、 PSTU是指向结构体类型STU的指针类型名D、 类型说明语句有错误答案:CA、 5B、 6C、 7D、 852001、 以下程序的功能是( )。#include main() FILE *fp; long int n; fp=fopen(wj.txt,rb); fseek(fp,0,SEEK_END); n=ftell(fp); fclose(fp); printf(%ld,n);答案:CA、 计算文件wj.txt的起始地址B、 计算文件wj.txt的终止地址C、 计算文件wj.txt内容
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中级汉语综合课《带你去旅游》教学设计
- 城市遮蔽环境多径利用雷达目标定位方法
- 新型农村合作医疗对中低收入农村家庭消费影响研究
- ESG体系建设对高污染行业企业绩效的影响分析
- 江苏省徐州市一级造价工程师考试(建设工程技术与计量、交通运输工程)题库及答案(2026年)
- 保险公司实习报告范文
- 为侦查学正名
- 电力系统继电保护原理及应用 继电保护配置原则
- 法律硕士专业基础课(单项选择题)模拟试卷18(题后含答案及解析)
- 2026年同等学力申硕《法学》试题(网友回忆版)
- 桥梁中的物理知识
- 娱乐产业与文化软实力建设-洞察分析
- 电力公司高压试验专业标准化作业指导书
- 房屋阳台玻璃安装安全及质量保证协议书
- 全科医师转岗培训理论考试试题含答案
- 湖北省黄冈市黄冈中学2025届高一下数学期末调研试题含解析
- HJ 298-2019 危险废物鉴别技术规范(正式版)
- 陕22N1 供暖工程标准图集
- 数字经济与外贸高质量发展
- 防汛应急救援组织机构
- 基础化学课件 第十三章-可见和紫外分光光度法
评论
0/150
提交评论