数学科学学院C语言复习资料
表达式是( )。
A、p+7 B、*p+8 C、*(p+8) D、*p+=7 133、设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,不能正确执行的语句是( )。
A、p2=k; B、p1=p2; C、k=*p1+*p2; D、k=*p1*(*p2); 134、运行下列程序的输出结果是( )。 main()
{float x1=-12,x2=0,x3=12,*p1,*p2,*p3,*p; p1=&x1,p2=&x2,p3=&x3; p=p1;
if (*p<*p2) p=p2; if (*p<*p3) p=p3; printf(“%f\\n”,*p); }
A、程序语法有错 B、12.0 C、0.0 D、-12.0 135、执行下列程序段后,变量y的值为( )。 int x[]={1,2,3,4},y,*p=&x[1]; y=(*--p)++;
A、4 B、3 C、2 D、1 136、执行下列程序段后,m的值为( )。 int a[2][3]={{1,2,3},{4,5,6}}; int m,*p; p=&a[0][0];
m=(*p)*(*(p+2))*(*(p+4));
A、12 B、13 C、14 D、15 137、运行下列程序的输出结果是( )。 main() {int i;
char a[20]=”123456”,*p; for(p=&a[5];p>=a;p--) printf(“%c”,*p); }
A、135 B、246 C、654321 D、123456 138、运行下列程序的输出结果是( )。
21
数学科学学院C语言复习资料
main()
{char *p=”13542”; while (*p!=?4?)
printf(“%c”,*(p++)+1); }
A、246 B、135 C、152 D、13542 139、运行下列程序的输出结果是( )。 main()
{char str1[100]=”1a2B3C”,str2[100],*p1=str1,*p2=str2; while (*p1!=?\\0?)
if ((*p1>=?A?&&*p1<=?Z?)||( *p1>=?a?&&*p1<=?z?)) {*p2=*p1;p1++;p2++;} else p1++; *p2=?\\0?; p2=str2;
printf(“%s”,p2); }
A、123 B、abc C、ABC D、aBC
140、设“char s[10],*p=s;”以下不正确的表达式是( )。 A、p=s+5 B、s=p+5 C、s[2]=p[4] D、*p=s[0] 141、已知“int a,*p=&a;”,则下列函数调用中要求输入输出a的值,错误的是( )。A、scanf(“%d”,&a); B、scanf(“%d”,p);
C、printf(“%d”,a); D、printf(“%d”,p);
142、声明语句“int (*p)();”的含义是( )。 A、p是指向int型数组的指针变量 B、p是指针变量,指向一个整型数据
C、p是一个指向函数的指针变量,该函数的返回值是整型 D、以上都不对
143、下面正确的说明语句是( )。
A、int (*a)[10]; B、int a[3,4]; C、int a[][]; D、int a[?a?]; 144、设“char b[5],*p=b;”,则正确的赋值语句是( )。
A、b=”abcd”; B、*b=”abcd”; C、p=”abcd”; D、*p=”abcd”;
22
数学科学学院C语言复习资料
145、已知“int b[]={1,2,3,4},y,*p=b; y=*p++;”这两个语句执行后,变量y的值为( )。
A、1 B、2 C、3 D、4 146、下面程序段的运行结果是( )。 char str[]=”abc”,*p=str; printf(“%d\\n”,*(p+3));
A、67 B、0 C、字符‘c’的地址 D、字符‘c’ 147、下面程序段的运行结果是( )。 char str[]=”abc”,*p=str; printf(“%s\\n”,p+1);
A、0 B、字符‘c’ C、bc D、abc 148、下面程序段的运行结果是( )。 char s[6];s=”abcd”;printf(“\\”%s\\”\\n”,s);
A、”abcd” B、abcd C、\\”abce” D、编译出错 149、下面程序段的运行结果是( )。 char s[6]=”abcd”;printf(“\\”%s\\”\\n”,s);
A、”abcd” B、abcd C、\\”abce” D、编译出错 150、下面程序的运行结果是( )。 main()
{int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf(“%d\\n”,*(p+9)); }
A、19 B、a+9 C、1 D、10 151、下面程序有两个printf()函数,如果第1个输出的是196,则第2个printf()函数输出的是( )。(本题假设int型变量占2个字节) main()
{int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf(“%x\\n”,p); printf(“%x\\n”,p+9); }
A、204 B、1a8 C、203 D、1a6
152、为了建立如图所示的存储结构( 即每个结点含两个域, data 是数据域,next是指向结点的指针域,), 【 】中应填( )。 data next
23
数学科学学院C语言复习资料
struct link{ char data;【 】}node; A、struct link *next; B、struct link next; C、link *next; D、struct *next;
153、设有定义语句“double d[3][5]={{1},{2},{3}},(*p)[5]=d;”则下列表达式中值不为0.0的表达式是( )。
A、*&d[1][2] B、p[1][2] C、*(p+1*5+2) D、*(*(p+1)+2) 154、下列程序段的输出结果是( )。 int k[2]={5,4},*p[2]; p[0]=k,p[1]=k+1; printf(“%d”,*p[1]);
A、5 B、4 C、1 D、0
155、设某个带参数的主函数执行时的命令行如下: p1□1□2□3
则主函数形参中指向字符型的指针数组长度是( )。 A、1 B、2 C、3 D、4 156、关于“带参数的主函数”,下列说法中错误的是( )。
A、形式参数有两个,一个是整型变量,另一个是指向字符型的指针数组 B、形式参数对应的实际参数是在运行程序时输入的
C、整型变量对应的形式参数值等于命令行中包括程序名在内用空格分开的实际参数的数目
D、形参数组(指向字符型的指针数组)的长度等于另一个形参(整型变量)获得的实参值
157、设下列程序经编译连接后生成目标程序名为p1.exe,设运行时输入的命令行为:p1 abcdef ,则输出结果是cdef。程序中缺少的是( )。 main(int argc, char *argv[]) {printf(“%s\\n”, );} A、argc+2 B、argv[2] C、argv[1]+2 D、argv+2 158、下列数据定义语句中,正确的是( )。
A、struct x{int x1;int x2;} B、struct {int x1;int x2;}x; C、struct x{int x1;int x2}; D、struct {int x1;float x2}x;
159、设有数据定义语句“struct x{int x1;int x2;}x3;”,则下列语句中正确的是( )。
A、x3.x1=5; B、x2.x1=5; C、x.x1=5; D、x3={5,6};
24
数学科学学院C语言复习资料
160、设有下列数据定义语句,则能正确引用成员x2的表达式是( )。 struct x1{int x2;};
struct x3{struct x1 x4;}x5;
A、x5.x4.x2 B、x3.x4.x2 C、x1.x2 D、x5.x2
161、定义一个结构体变量时,分配给它的内存字节数目是( )。 A、结构体变量的成员中,所有成员占用的字节数总和+1
B、结构体变量的成员中,占用字节数最多的成员占用的字节数 C、结构体变量的成员中,占用字节数最少的成员占用的字节数 D、结构体变量的成员中,所有成员占用的字节数总和
162、设有下列数据定义语句:union uu{char ch1;int i2;float f3;}cif; 则下列说法中正确的是( )。
A、共用体变量cif的成员中,ch1和i2的首地址不同 B、共用体变量cif一共分配了7个内存单元
C、可以在上述定义时,给共用体变量cif的各个成员赋初值 D、可以在程序中给共用体变量cif的各个成员分别赋值 163、”typedef long int BIGGY;” 的作用是( )。 A、建立了一种新的数据类型 B、定义了一个整型变量
C、定义了一个长整型变量 D、定义了一个新的数据类型标识符 164、设字符型变量x的值是064,表达式“~x^x<<2&x”的值是( ). A、0333 B、333 C、0x333 D、020
165、在文件类型及文件型指针,下列说法中错误的是( )。 A、文件型是系统已经定义好的一种专门用于文件处理的结构型 B、定义文件型指针的方法是“FILE *文件型指针变量;”
C、文件型指针是专门指向已经打开的文件的一种结构体指针变量 D、文件类型是在头文件“file.h”中定义的
166、以只读方式打开一个二进制文件,应选择的文件使用方式是( )。
A、”rb” B、”wb” C、”a+” D、”w+”
167、不能正确打开文件时,打开文件函数的返回值是( )。 A、NULL B、*p C、非0 D、1
168、下列语句中,不能正确地从键盘上读取单个字符存入字符型变量ch的语句是( )。
A、ch=fgetc(stdin) B、fgetc(stdin,&ch) C、ch=getchar(); D、scanf(“%c”,&ch);
25