int age; int sex; }pup[5」,* p; p= pup;
A)scanf (\%s\[0].name); B)scanf(\%d\,&pup[0].age); C)scanf(\%d\,&(p-> sex));D)scanf(\%d\,&p-> age); [题10.18] C
以下程序的输出结果是 struct stu
{int x;int *y;} *p;
int dt[4]={10,20,30,40}
struct stu a[4] ={ 50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3] }; main()
{p=a ; printf(\%d\%d\,(++p)->x); printf(\%d\\n\,++(*p->y)); }
A)10,20,20 B)50,60,21 C)51,60,21 D)60,70,31 【题10. 20】 B
以下对结构体变量stul中成员age的非法引用是 struct student {int age; int num; }stu1,*p; p=&stu1;
A)stu1.age B)student.age C)p->age D)(*p).age 【题10.25】 C
当说明一个共用体变量时系统分配给它的内存是 A)各成员所需内存量的总和
B)结构中第一个成员所需内存量
C)成员中占内存量最大者所需的容量 D)结构中最后一个成员所需内存量 【题10.26】 C
以下对C语言中共用体类型数据的叙述正确的是 A)可以对共有体变量名直接赋值
B)一个共用体变量中可以同时存放其所有成员 C)一个共有体变量中不能同时存放其所有成员 D)共用体类型定义中不能出现结构体类型的成员 【题10.27】 B
若有以下定义和语句: union data {int i; char c; float f; }a;
int n;
则以下语句正确的是
A)a=5; B)a={2,'a',1.2}; C)printf(\%d\\n\,a); D)n=a; 【题10.28】 C
设有以下说明,则下面不正确的叙述是 union data {int i; char c;
f1oat f; )un;
A)un所占的内存长度等于成员f的长度
B)un的地址和它的各成员地址都是同一地址 C)un可以作为函数参数
D)不能对un赋值,但可以在定义un时对它初始化 【题10.29】 B
C语言共用体类型变量在程序运行期间 A)所有成员一直驻留在内存中 B)只有一个成员驻留在内存中 C)部分成员驻留在内存中 D)没有成员驻留在内存中 【题10.30】 B
以下程序的运行结果是 #inc1ude \main()
{union{long a; int b; char c; }m;
printf(\%d\\n\,sizeof(m)); }
A)2 B)4 C)6 D)8 【题10.33】 C
在16位IBM一PC机上使用C语言,若有如下走义: union data {int i; char ch; double f; }b;
则共用体变量b占用内存的字节数是
A)1 B )2 C)8 D)11 【题10.34】 A
以下程序的运行结果是 #include%union pw {int i;
char ch[2」; }a; main()
{ a.ch[0]=13; a.ch[1]=0; printf(\%d\\n\,a.i); }
A)13 B)14 C)208 D)209 【题10.35】 C
使用typedef定义一个新类型的正确步骤是
A)2,4,1,3 B)1,3,2,4 C)2,1,4,3 D)4,2,3,1 1.把变量名换成新类型名。
2.按定义变量的方法写出定义体。 3.用新类型名定义变量。
4.在最前面加上关键字typedef。 【题10.36】 B
下面对typedef的叙述中不正确的是
A)用typedef可以定义各种类型名,但不能用来定义变量
B)用typedef可以增加新类型
C)用typedef只是将已存在的类型用一个新的标识符来代表 D)使用tvpedef有利于程序的通用和移植 【题10.37】 C
以下程序的运行结果是
tvpedef union {1ong a[2]; int b[4]; char c[8]; }TY ; TY our; main()
{printf(\%d\\n\,sizeof(our)); }
A) 32 B)16 C)8 D)24
【题12.1】 A
系统的标准输入文件是指
A)键盘 B)显示器 C)软盘 D)硬盘 【题12.2】 C
以下可作为函数fopen中第一个参数的正确格式是 A)c:\%user\\text.txt B)c:\%user\\text.txt
C)\.txt\\user\\text.txt\【题12.3】 B
若执行fopen函数时发生错误,则函数的返回值是 A)地址值 B)O C)1 D)EOF 【题12.4】 B
若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写, 则文件方式字符串应是
A)\【题12.5】 A
若以“a+”方式打开一个已存在的文件,则以下叙述正确的是 A) 文件打开时,原有文件内容不被删除,
A) 位置指针移到文件末尾,可作添加和读操作, 文件打开时,原有文件内容不被删除,
A) 位置指针移到文件开头,可作重写和读操作 文件打开时,原有文件内容被删除,只可作写操作 D)以上各种说法皆不正确 【题12.6】 C
当顺利执行了文件关闭操作时,fclose函数的返回值是 A)-1 B)TURE C)0 D)1 【题12.7】 C
已知函数的调用形式:fread(buffer,size,count,fp); 其中buffer代表的是
A)一个整型变量,代表要读入的数据项总数 B)一个文件指针,指向要读的文件
C)一个指针,指向要读入数据的存放地址 D)一个存储区,存放要读的数据项 D
逻辑运算符两侧运算对象的数据类型 A)只能是0或1
B)只能是0或非0正数
C)只能是整型或字符型数据 D)可以是任何类型的数据 C
下关于运算符优先顺序的描述中正确的是
A)关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符 B)逻辑 运算符< 关系运算符< 算术运算符< 赋值运算符 C)赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符 D)算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符 B
下列运算符中优先级最高的是: A)< B)+ C)&& D)!= C
能正确表示\当x 的取值在[1,10]和[200,210]范围内为真, 否则为假\的表达式是:
A) (x>=1) &&(x<=10) &&(x> = 200) &&(x<=210) B) (x>=1) || (x<=10) ||(x>=200) ||(x<=210) c) (x>=1) &&(x<=10)||(x>= 200) &&(x<=210) D) (x > =1)||(x< =10) && (x> = 200)||(x<=210) C
表示图中坐标轴上阴影部分的正确表达式是: /////||//////| /////||//////|
-----------------------------> X a b c
A)(X<=A)&&(X>=B)&&(X<=C) B) (x< =a)||(b<=x<=c)
C)(x<=a)|| (x> =b) && (x<=c) D)(x < =a)&&(b< = x < = c) C
判断char型变量ch是否为大写字母的正确表达式是
A)' A' <=ch<='z' B)(ch> = 'A')&(ch<=' z' )
C)(ch>=' A' )&&(ch<='z') D)(' A' < = ch)AND('z'> = ch) D
设x,y 和z是int型变量,且x = 3,y= 4,z= 5,则下面表达式中值为0的是 A)'y'&&'y' B)x < =y
C) x||y+z && y-z D) !(x 已知x =43,ch='A',y=0则表达式(x > = y && ch<'B'&&!Y) 的值是 A)0 B)语法错 C)1 D)\假\ C 若希望当A的值为奇数时,表达式的值为\真\的值为偶数时,表达式的值 为\假\。则以下不能满足要求的表达式是: A) A%2= =1 B)!(A%2 = =0) C)!(A%2) D) A%2 B 设有 int a = 1,b=2,c =3, d =4, m=2, n=2; 执行(m= a>b)&&(n=c>d)后n的值为: A)1 B )2 C)3 D)4 D 判断char型变量c1是否为小写字母 正确表达式为: A)' a' <=cl<=' z' B) (cl> = a)&&(cl<=z) C)(' a' >=cl)||(' z' < = cl) D)(c1>='a')&&(cl<='z') B 以下程序的运行结果是: #include \main() {int a,b,d= 241; a=d/100 % 9 b= (-1)&&(-1); printf(\} A)6,1 B)2,1 C) 6,0 D)2,0 C 执行以下语句后a的值为: int a,b,c; a= b= c= 1; ++a||++b&&++c A)错误 B) 0 C) 2 D) 1 A 执行以下语句后b 的值为: int a=5,b=6,w=1,x=2,y=3,z=4; (a=w>x)&&(b=y>z); A) 6 B) 0 C) 1 D) 4 C 以下不正确的if语句形式是: A)if(x>y && x!=y); B)if(x= =y) x+=y; C)if(x != y) scanf(\ D)if(x 下列运算符中优先级最低的是: A)?: B)&& c)+ D) != * B 以下if语句语法正确的是: A) if(x>0) printf(\ else printf(\ A) if (x>0) {x=x+y; printf(\ else printf(\ A) if(x>0) {x=x+y; prinrf(\ else printf(\ A) if(x > 0) { x = x +y; printf(\ else printf(\* D 请阅读以下程序: main() {int a=5,b=0,c=0; if(a=b+c) printf(\e1se printf(\ 以上程序 : A)有语法错不能通过编译 B)可以通过编译但不能通过连接 C)输出*** D)输出$$$ *