常熟理工学院 C语言题库(本三)

更新时间:2024-05-09 09:28:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

结构化程序设计语言编写的程序由三种结构组成:顺序结构、分支结构和 。 一个完整的C程序可以有多个函数,其中有且只能有一个名为 的函数。 数学式3m所对应的C语言表达式为 (m, 1/3.0)。

在调用函数fopen(\\时,若d盘根目录下不存在文件b.dat,则函数的返回值是 。

执行下面程序段中的语句“k = A*A+1;”后k的值是 。

#define B 2 #define A B+1 k = A*A+1;

已有定义“float m;double n;int a;long b;char c;”,则表达式m+n*a/m+b/n+c值的类型为 。

C语言有效的预处理命令总是以 开头。 已有定义“int a[10], *p=a+3;”,则数组a 的最后一个元素是p[ ]。 已有定义“int n=12; double a;”,则执行语句“a=n/=5;”后,a的值为 。 若要声明一个类型名STR,使得定义语句STR s等价于char *s,则声明语句是 。 程序设计语言的发展经历了几个阶段:机器语言、汇编语言和 。 一个C程序总是从 函数开始执行的。 已有定义“double a=5, b=10;”,则计算ab的库函数调用形式是 。 已有定义“char ch='a';”,则表达式ch=ch-'a'+'A'的值为字符 的编码。 表示“x≥y≥z”的C语言表达式是x>=y 。 C语言有效的预处理命令总是以 开头。 常量'\\n'的数据类型是 。 已有定义“int b[10], *p=b, *q; q=&b[5];”,则表达式q-p的值是 。

在文件中,以符号常量EOF作为文本文件(字符流文件)的结束标记,EOF代表的值是 。

若要声明一个类型名STR,使得定义语句STR s等价于char *s,则声明语句是 。 结构化程序设计语言编写的程序由三种结构组成:顺序结构、 和循环结构。 C语言中除复合语句外的其它所有语句都以 结束。 已有定义“double a=10, b=5;”,则计算ab的库函数调用形式是 。 C语言有效的预处理命令总是以 开头。 已有定义“char a=1; int b=2; float c=3; double d=4;”,则表达式“c=a+b+c+d”值的类型为 。

用typedef定义一个长度为10的整型数组NUM的语句是 。 执行下面程序段中的语句“k = A*A+1;”后k的值是 。

#define B 2 #define A B+1 k = A*A+2;

已有定义“int a[][4]={1, 2, 3, 4, 5, 6, 7, 8, 9};”,则数组a第一维的大小是 。 程序中已使用预处理命令“#include”,为使语句“fp=fopen(\”能正常执行,在该语句之前必须有定义FILE ;。

执行“printf(\,%d\”后在屏幕上将输出 个整数。

以下叙述中正确的是

A)程序设计的任务就是编写程序代码并上机调试 B)程序设计的任务就是确定所用数据结构 C)程序设计的任务就是确定所用算法 D)以上三种说法都不完整

以下选项中,能用作用户标识符的是 A)void B)8_8 C)_0_

D)unsigned 阅读以下程序 #include main()

{ int case; float printF;

printf(“请输入2个数:”); scanf(“%d %f”,&case,&pjrintF); printf(“%d %f\\n”,case,printF); }

该程序编译时产生错误,其出错原因是

A)定义语句出错,case是关键字,不能用作用户自定义标识符 B)定义语句出错,printF不能用作用户自定义标识符 C)定义语句无错,scanf不能作为输入函数使用 D)定义语句无错,printf不能输出case的值 表达式:(int)((double)9/2)-(9)%2的值是 A)0 B)3 C)4 D)5

若有定义语句:int x=10;,则表达式x-=x+x的值为 A)-20 B)-10 C)0 D)10 有以下程序 #include main()

{ int a=1,b=0;

printf(“%d,”,b=a+b); printf(“%d\\n”,a=2*b); }

程序运行后的输出结果是 A)0,0 B)1,0 C)3,2

D)1,2

设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是 A)if(a>b) c=a,a=b,b=c; B)if(a>b) {c=a,a=b,b=c;} C)if(a>b) c=a;a=b;b=c; D)if(a>b) {c=a;a=b;b=c;} 有以下程序 #include main() { int c=0,k;

for (k=1;k<3;k++) switch (k)

{ default: c+=k case 2: c++;break; case 4: c+=2;break; }

printf(“%d\\n”,c); }

程序运行后的输出结果是 A)3 B)5 C)7 D)9

以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是 A)if((a>b)&&(b>c)) k=1; else k=0;

B)if((a>b)||(b>c) k=1; else k=0;

C)if(a<=b) k=0; else if(b<=c) k=1; D)if(a>b) k=1; else if(b>c) k=1; else k=0;

20)有以下程序 #include main()

{ char s[]={“012xy”};int i,n=0; for(i=0;s[i]!=0;i++)

if(s[i]>=?a?&&s[i]<=?z?) n++; printf(“%d\\n”,n); }

程序运行后的输出结果是 A)0 B)2

C)3 D)5

有以下程序 #include main()

{ int n=2,k=0;

while(k++&&n++>2); printf(“%d %d\\n”,k,n); }

程序运行后的输出结果是 A)0 2 B)1 3 C)5 7 D)1 2

有以下定义语句,编译时会出现编译错误的是 A)char a=’a’; B)char a=’\\n’; C)char a=’aa’; D)char a=’\\x2d’; 有以下程序 #include main()

{ char c1,c2;

c1=?A?+?8?-?4?; c2=?A?+?8?-?5?;

printf(“%c,%d\\n”,c1,c2); }

已知字母A的ASCII码为65,程序运行后的输出结果是 A)E,68 B)D,69 C)E,D

D)输出无定值 有以下程序 #include void fun(int p) { int d=2;

p=d++; printf(“%d”,p);} main() { int a=1;

fun(a); printf(“%d\\n”,a);} 程序运行后的输出结果是 A)32 B)12 C)21

D)22

以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能

#define MIN -2147483647 int findmax (int x[],int n) { int i,max;

for(i=0;i

return max; }

造成错误的原因是

A)定义语句int i,max;中max未赋初值

B)赋值语句max=MIN;中,不应给max赋MIN值 C)语句if(max

D)赋值语句max=MIN;放错了位置 有以下程序 #include main()

{ int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r;

printf(“%d,%d,%d,%d\\n”,m,n,*p,*q); }

程序运行后的输出结果是 A)1,2,1,2 B)1,2,2,1 C)2,1,2,1 D)2,1,1,2

若有定义语句:int a[4][10],*p,*q[4];且0≤i<4,则错误的赋值是 A)p=a B)q[i]=a[i] C)p=a[i]

D)p=&a[2][1] 有以下程序 #include #include main()

{ char str[ ][20]={“One*World”, “One*Dream!”},*p=str[1]; printf(“%d,”,strlen(p));printf(“%s\\n”,p); }

程序运行后的输出结果是 A)9,One*World B)9,One*Dream C)10,One*Dream

D)10,One*World 有以下程序 #include main()

{ int a[ ]={2,3,5,4},i; for(i=0;i<4;i++) switch(i%2)

{ case 0:switch(a[i]%2) {case 0:a[i]++;break; case 1:a[i]--; }break; case 1:a[i[=0; }

for(i=0;i<4;i++) printf(“%d”,a[i]); printf(“\\n”); }

A)3 3 4 4 B)2 0 5 0 C)3 0 4 0 D)0 3 0 4 有以下程序 #include #include main()

{ char a[10]=”abcd”;

printf(“%d,%d\\n”,strlen(a),sizeof(a)); }

程序运行后的输出结果是 A)7,4 B)4,10 C)8,8 D)10,10

下面是有关C语言字符数组的描述,其中错误的是 A)不可以用赋值语句给字符数组名赋字符串 B)可以用输入语句把字符串整体输入给字符数组 C)字符数组中的内容不一定是字符串 D)字符数组只能存放字符串 下列函数的功能是 fun(char * a,char * b)

{ while((*b=*a)!=?\\0?) {a++,b++;} } A)将a所指字符串赋给b所指空间 B)使指针b指向a所指字符串

C)将a所指字符串和b所指字符串进行比较 D)检查a和b所指字符串中是否有’\\0’ 设有以下函数

void fun(int n,char * s) {……}

则下面对函数指针的定义和赋值均是正确的是 A)void (*pf)(); pf=fun; B)viod *pf(); pf=fun; C)void *pf(); *pf=fun;

D)void (*pf)(int,char);pf=&fun; 有以下程序 #include int f(int n); main() { int a=3,s;

s=f(a);s=s+f(a);printf(“%d\\n”,s); }

int f(int n)

{ static int a=1; n+=a++; return n; }

程序运行以后的输出结果是 A)7 B)8 C)9 D)10 有以下程序 #include

#define f(x) x*x*x main()

{ int a=3,s,t;

s=f(a+1);t=f((a+1)); printf(“%d,%d\\n?,s,t); }

程序运行后的输出结果是 A)10,64 B)10,10 C)64,10 D)64,64

下面结构体的定义语句中,错误的是

A)struct ord {int x;int y;int z;}; struct ord a; B)struct ord {int x;int y;int z;} struct ord a; C)struct ord {int x;int y;int z;} a; D)struct {int x;int y;int z;} a;

设有定义:char *c;,以下选项中能够使字符型指针c正确指向一个字符串的是 A)char str[ ]=”string”;c=str; B)scanf(“%s”,c);

C)c=getchar(); D)*c=”string”; 有以下程序 #include #include struct A

{ int a; char b[10]; double c;}; struct A f(struct A t); main()

{ struct A a={1001,”ZhangDa”,1098.0}; a=f(a);jprintf(“%d,%s,%6.1f\\n”,a.a,a.b,a.c); }

struct A f(struct A t)

( t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;return t; ) 程序运行后的输出结果是 A)1001,ZhangDa,1098.0 B)1001,ZhangDa,1202.0 C)1001,ChangRong,1098.0 D)1001,ChangRong,1202.0 若有以下程序段 int r=8;

printf(“%d\\n”,r>>1); 输出结果是 A)16 B)8 C)4 D)2

下列关于C语言文件的叙述中正确的是

A)文件由一系列数据依次排列组成,只能构成二进制文件 B)文件由结构序列组成,可以构成二进制文件或文本文件 C)文件由数据序列组成,可以构成二进制文件或文本文件 D)文件由字符序列组成,其类型只能是文本文件

下面表示中,不能用作C语言常量的是 。

A.0UL B.(long)110 C.1e0 D.'\\x2c' 设有定义和声明如下:

#define d 2

int a=3; float b=3.14; char c='d';

下面表达式中有语法错误的是 。 A.a++ B.b++ C.c++ D.d++

若有枚举类型定义“enum vari{A1, A2, A3, A4=6, A5, A6};”,则枚举常量A2和A6代表的值分别是 。

A.1,6 B.1,8

C.2,6 D.2,8

下面数组声明语句中正确的是 。

A.int n, a[n]; B.int a[];

C.int a[2][3]={{2},{1},{3}}; D.int a[ ][3]={{2},{1},{3}}; 下面函数定义中正确的是 。

A.int fun(int a, b){} B.int fun(int a[][]){} C.int fun(void){} D.int fun(static int a, int b){} 在C语言中,数字010是一个 。

A.十进制数 B.八进制数 C.十六进制数 D.非法数

若有说明“int a[3][4]={0};\,则下面正确的叙述是 。

A.只有元素a[0][0]可得到初值 B.此说明语句不正确

C.数组a中各元素都可得到初值,但其值不一定为0 D.数组a中每个元素均可得到初值0 如果有声明“int m,n=5,*p=&m;”,与m=n等价的语句是 。

A.m=*p; B.*p=*&n; C.m=&n; D.m=**p; 已有定义“char b[6],*p=b;”,则正确的赋值表达式语句是 。

A.b=\ B.*b=\C.p=\ D.*p=\已有定义“char ch[5]={'a', 'b', 'c', 'd'}, *p=ch, i;”,则下面语句中不能正确输出ch数组全部元素值的是 。

A.for(i=0; i<4; i++) printf(\B.for(i=0; i<4; i++) printf(\C.for(i=0; i<4; i++) printf(\D.for(i=0; i<4; i++) printf(\

C语言中可以处理的文件类型有 。

A.文本文件和二进制文件 B.文本文件和数据文件 C.数据文件和二进制文件 D.以上三个都不对 若有定义“int a[5],*b=a, (*c)[3],*d[3];”,则下面表达式中有语法错误的是 。

A.a[0]=0 B.b[0]=0 C.c[0]=0 D.d[0]=0

已知有程序段“char str[][8]={\\*p=&str[0][0];printf(\p+8);”,则执行printf语句后输出为 。

A.second B.first C.ond D.nd 下面叙述错误的是 。

A.宏替换不占用程序运行时间 B.宏名无类型

C.宏名必须用大写字母表示 D.宏替换只是字符替换 设有定义和声明语句:

typedef struct cc { int a;

struct cc *b;

}node;

static node aa[3]={5, &aa[1], 7, &aa[2], 9, '\\0'}, *p=&aa[0]; 下列选项中,表达式值不为5的是 。 A.aa[1].b->a-2 B.p->b->a-2 C.(p+1)->a-2 D.p->a

下面关于共用体类型的叙述正确的是 。

A.可以给共用体类型变量直接赋值

B.一个共用体类型变量中可以同时存入其所有成员 C.一个共用体类型变量中不能同时存入其所有成员 D.共用体类型定义中不能同时出现结构体类型的成员 表达式 sizeof(\的值是 。

A.1 B.2 C.3 D.4 下面选项中,不能用作用户标识符的是 。

A.&a B._00 C.FOR D.print 已知有声明“int x=3, y=4, z;”,则执行语句“z=1/2*(x+y);”后,z的值是 。

A.0 B.3 C.3.5 D.4

下列运算符中,优先级最低的是 。

A.* B.!= C.+ D.=

一元二次方程ax2+bx+c=0有两个相异实根的条件是a≠0且b2-4ac>0,下面选项中正确的表达式是 。

A.a!=0, b*b-4*a*c>0 B.a!=0||b*b-4*a*c>0 C.a&&b*b-4*a*c>0 D.!a&&b*b-4*a*c>0 下面定义符号常量p为3.14中正确的是 。

A.#define p 3.14; B.#define p(3.14) C.#define p=3.14 D.#define p 3.14 已有定义“int x=4, y=3, z=5;”,下面4个程序段中有3个程序段的执行效果是相同的,另一个执行效果不同的是 。

A.if(x>y) z=x, x=y, y=z; B.if(x>y){z=x, x=y, y=z;} C.if(x>y) z=x; x=y; y=z; D.if(a>y){z=x; x=y; y=z;} 下面关于continue和break语句的叙述中正确的是 。

A.continue和break语句都可以出现在switch语句中

B.continue和break语句都可以出现在循环语句的循环体中

C.在循环语句和switch语句之外允许出现continue和break语句 D.执行循环语句中的continue和break语句都将立即终止循环 在while(e)语句中的e与下面条件表达式等价的是 。

A.e==0 B.e==1 C.e!=1 D.e!=0

若函数调用时的实参为变量,则下面关于函数形参和实参的叙述中正确的是 。

A.实参和其对应的形参占用同一存储单元 B.形参不占用存储单元

C.相同名称的实参和形参占用同一存储单元 D.实参和其对应的形参占用不同的存储单元

在C程序中,若对函数类型未加说明,则函数的隐含类型为 。

A.int B.double C.void D.char

下面函数中能正确计算n!(n<13)的是 。

A.long f(long n) B.long f(long n)

{ { if(n<=1)return 1;

return n*f(n-1); else return n*f(n); } } C.long f(long n) D.long f(long n)

{ static long s,i; { long s=1,i;

for(i=1;i<=n;i++)s=s*i; for(i=1;i<=n;i++)s=s*i; return s; return s; } }

设n=10,i=4,则赋值运算“n%=i+1”执行后n的值是 。

A.0 B.1 C.2 D.3 已有定义“int a=2;”,下面表达式中值不等于8的是 。

A.a+=2,a*2 B.a+=a*=a C.(a+7)/2*((a+1)%2+1) D.a*7.2/a+1

下面选项中,可以作为用户标识符的是 。 A.6_6 B.void C.unsigned D._0_ 已有定义“int n; float a, b;”,则执行语句“b=n=a=3.89;”后,b的值为 。 A.3 B.3.0 C.3.89 D.4.0

下列运算符中,优先级最低的是 。 A.* B.!= C.+ D.=

表达式 !(x>0&&y>0) 等价于 。 A.!(x>0)||!(y>0) B.!x>0||!y>0 C.!x>0&&!y>0 D.!(x>0)&&!(y>0) 下面定义符号常量p为3.14中正确的是 。 A.#define p 3.14; B.#define p(3.14) C.#define p=3.14 D.#define p 3.14

若变量已正确定义,语句“if(a>b) k=0; else k=1;”和 等价。 A.k=(a>b)?1:0; B.k=a>b; C.k=a<=b; D.a<=b ? 0 : 1;

下面关于continue和break语句的叙述中正确的是 。 A.continue和break语句都可以出现在switch语句中

B.continue和break语句都可以出现在循环语句的循环体中

C.在循环语句和switch语句之外允许出现continue和break语句 D.执行循环语句中的continue和break语句都将立即终止循环 在C语言中while和do-while循环的主要区别是 。 A.do-while的循环体至少无条件执行一次

B.do-while允许从外部转到循环体内

C.while的循环控制条件比do-while的循环控制条件严格 D.do-while的循环体不能是复合语句

关于函数返回值,下面叙述中正确的是 。

A.函数返回值的类型由函数体内return语句包含的表达式的类型决定 B.若函数体内没有return语句,则函数没有返回值

C.若函数体中有多个return语句,则函数的返回值是排列在最后面的return语句中表达式的值

D.函数返回值的类型由函数头部定义的函数类型决定

已有函数fun的定义“int fun(int a, int b){ if(a

下面关于return语句的叙述正确的是 。 A.一个自定义函数中必须有一条return语句

B.一个自定义函数中可以根据不同情况设置多条return语句 C.定义成void类型的函数中可以有带返回值的return语句

D.没有return语句的自定义函数在执行结束时不能返回到调用处

已有定义“int a,b;\,执行语句“a=(b=2*3,b*5),b+6;”后,变量a的值是 。 A.6 B.12 C.30 D.36

表达式 sizeof(\的值是 。 A.8 B.9 C.10 D.11

已有定义“int i, a=1; unsigned j;”,则下列语句执行时会出现无限循环的语句是 。 A.for(j=15; j>0; j-=2)a++; B.for(j=0; j<15; j+=2)a++; C.for(i=0; i<15; i+=2)a++; D.for(i=15; i>0; i-=2)a++; 下面定义中错误的是 。 A.int a=0xFF; B.double a=1.2e0.5; C.long a=2L; D.char a='\\72'; 设有定义和声明如下: #define d 2

int a=3; float b=3.14; char c='d';

下面表达式中有语法错误的是 。 A.a++ B.b++ C.c++ D.d++ 下面声明中错误的是 。 A.int b[2] B.int b[]={0, 1} C.int b[3]=0 D.int b[3][4]={0} 下面函数定义的头部正确的是 。 A.int fun(int a[], b) B.int fun(int a[], int a) C.int fun(int a, int b) D.int fun(char a[ ][], int b) 对两个数组a和b进行如下初始化:

char a[]=\

char b[]={'a', 'b', 'c', 'd'};

则下面叙述正确的是 。 A.a与b数组完全相同 B.数组a比数组b长度大 C.a与b中存放的都是字符串 D.a与b长度相同

若有说明“int a[3][4]={0};\,则下面正确的叙述是 。 A.只有元素a[0][0]可得到初值 B.此说明语句不正确

C.数组a中各元素都可得到初值,但其值不一定为0 D.数组a中每个元素均可得到初值0 已有定义“int m=3, c, *a=&m, *b=&c;”,则下列语句中错误的是 。 A.a=b=0; B.a=&c, b=a; C.&a=&b; D.*b=*a; 已有定义“char b[6],*p=b;”,则正确的赋值表达式语句是 。 A.b=\ B.*b=\C.p=\ D.*p=\已有定义“int k, b[10], *p=b;”,现需要将1~10保存到b[0]~b[9]中,下面程序段中不能实现这一功能的是 。

A.for(k=1; k<10; k++)b[k]=k+1; B.for(k=0; k<10; k++)p[k]=k+1; C.k=1; while(p

对文件进行操作时,写文件的含义是 。 A.将内存中的信息写入磁盘 B.将磁盘中的信息读到内存 C.将主机中的信息写入磁盘 D.将磁盘中的信息读到主机

已有定义“int a[4][4]={{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}};”,若需要引用值为15的数组元素,则下列选项中错误的是 。 A.*(a+3)+2 B.*(*(a+3)+2) C.*(a[3] +2) D.a[3][2]

若有定义“int a[3][4]={0}, *p1=a[1], (*p2)[4]=a;”,下面表达式中与“a[1][1]=1;”不等价的是 。 A.*(p1+1)=1; B.p1[1][1]=1; C.*(*(p2+1)+1)=1; D.p2[1][1]=1; 下面叙述错误的是 。

A.宏替换不占用程序运行时间 B.宏名无类型 C.宏名必须用大写字母表示 D.宏替换只是字符替换 设有定义和声明语句:

typedef struct cc { int a;

struct cc *b; }node;

static node aa[3]={5, &aa[1], 7, &aa[2], 9, '\\0'}, *p=&aa[0];

下列选项中,表达式值不为5的是 。 A.aa[1].b->a-2 B.p->b->a-2 C.(p+1)->a-2 D.p->a

若有结构类型定义“typedef struct {int x, y[2]; }ABC;”,则下面声明中正确是 。 A.ABC x; B.struct x; C.struct abc x; D.struct ABC x;

若有定义和声明typedef enum{green, red, yellow, blue, b1ack}color; color flower;,则下列语句中正确的是 。 A.green=red; B.flower=red; C.color=red; D.enum=red;

在下面各组标识符中,均可以用作变量名的一组是 。

A.a02, Int B.table_1, a*.0 C.0_a, W13 D.for, point 已知有声明“int x=3, y=4, z;”,则执行语句“z=1/3*(x+y);”后,z的值是 。

A.0 B.3 C.3.5 D.4 已有定义“int a=4, b=5, c=6;”,则下列表达式中值为0的是 。

A.a&&b B.a<=b C.a||b&&c D.!(!c||1) 在 C 程序中,用 表示逻辑值“真”。

A.小于0的数 B.非0的数 C.非1的数 D.大于0的数

C源程序中的命令#include与#define是在 阶段被处理的。

A.预处理 B.编译 C.连接 D.执行

已有预处理命令“#include ”和声明“int x=4, y;”,下面语句中语法正确的是 。

A.if(x%2=1)y=x; B.if(sqrt(x)%2)y=x; C.if(x==1)y=x; D.if(x==1)y=&x;

下面关于continue和break语句的叙述中正确的是 。

A.continue和break语句都可以出现在switch语句中

B.continue和break语句都可以出现在循环语句的循环体中

C.在循环语句和switch语句之外允许出现continue和break语句 D.执行循环语句中的continue和break语句都将立即终止循环 下面关于循环语句的结论中错误的是 。

A.可以用while语句实现的循环,一定可以用for语句实现 B.可以用for语句实现的循环,一定可以用while语句实现

C.可以用do-while语句实现的循环,一定可以用while语句实现

D.do-while语句与while语句的区别仅是关键字“while”出现的位置不同 C语言中函数返回值的类型是由 决定的。

A.return语句中的表达式类型 B.调用该函数的主函数类型 C.定义函数时所指定的函数类型 D.以上都可能

已有函数fun的定义“void fun2(void) {printf(\?s great! \”,则调用fun2函数的正确形式是 。

A.fun2; B.fun2(); C.fun2(void); D.fun2(1);

C语言规定,变量作实参时,它和对应形参之间的数据传递方式是 。

A.地址传递 B.单向值传递

C.由实参传给形参,再由形参传回给实参 D.由用户指定传递方式 若有“int k=4;”,计算表达式(j=k++)后,j和k的值分别为 。

A.j=3, k=3 B.j=3, k=4 C.j=4, k=4 D.j=4, k=5 下列运算符中,优先级最高的是 。

A.-> B.++ C.&& D.=

不用第三个变量,将a和b的值进行交换的操作是 。

A.a+=b;b-=a;a-=b; B.a+=b;b=a-b;a-=b; C.b-=a;a-=b;a-=b ; D.b-=a;a=b-a;a+=b; 下列表示中,不可作为C语言常数的是 。

A.010 B.1UL C.'0x41' D.0xbe 设有定义和声明如下:

#define d 3

int a=3; float b=3.14; char c='d';

下面表达式中有语法错误的是 。 A.a++ B.b++ C.c++ D.d++

下列一维数组的声明中正确的是 。

A.int a[]; B.int n=5,a[n]; C.int a[3+1]={0}; D.int a[3]={4, 3, 2, 1}; 下面函数定义的头部正确的是 。

A.int fun(int a[], b) B.int fun(int a[], int a) C.int fun(int a, int b) D.int fun(char a[ ][], int b) 下面程序段的运行结果是 。

char ch[5]={ 'a', 'b', '\\0', 'd', '\\0'}; printf(\A.'a' 'b' B.ab C.ab d D.a, b

己有声明“int a=2,*p=&a;\,下列正确的语句是 。

A.a=p+1.0; B.p=2*p+1.0; C.p=1000.0; D.a+=*p; 已有定义“char b[6],*p=b;”,则正确的赋值表达式语句是 。

A.b=\ B.*b=\C.p=\ D.*p=\已有定义“int a[5]={10, 20, 3, 40, 50}, *p, i;”,下面语句中不能正确输出a数组全部元素的值的是 。

A.for(p=a,i=0;i<5;i++)printf(\B.for(p=a;p

C.for(p=a, i=0;p

当文件被正常关闭时,fclose()函数的返回值是 。

A.-1 B.true C.0 D.1

设有声明语句“int b[3][3]={11,22,33,44,55,66,77,88,99};”,下面语句中不能输出数组元素b[1][2]的是 。

A.printf(\ B.printf(\C.printf(\ D.printf(\若有定义“int a[4][4], *p=a[0], (*q)[4]=a;”,则下列叙述中错误的是 。

A.a[2][3]与q[2][3]等价 B.a[2][3]与p[2][3]等价

C.a[2][3]与*(p+11)等价 D.a[2][3]与p=p+11, *p等价

在宏定义语句“#define PI 3.1415926”中,宏名PI代替 。

A.一个字符串 B.一个单精度数 C.一个常量 D.一个双精度数 设有定义和声明语句:

typedef struct cc { int a;

struct cc *b; }node;

static node aa[3]={11, &aa[1], 7, &aa[2], 9, '\\0'}, *p=&aa[0]; 下列选项中,表达式值不为5的是 。 A.aa[1].b->a-2 B.p->b->a-2 C.(p+1)->a-2 D.p->a-6 下面关于typedef的叙述错误的是 。

A.用typedef可以增加新类型

B.用typedef可以为各种类型说明一个新名,但不能为一个变量说明一个新名 C.用typedef为类型说明一个新名,通常可增加程序的可读性 D.typedef只是将已存在的类型用一个新的名字来代表 下面关于共用体类型的叙述正确的是 。

A.可以给共用体类型变量直接赋值

B.一个共用体类型变量中可以同时存入其所有成员 C.一个共用体类型变量中不能同时存入其所有成员 D.共用体类型定义中不能同时出现结构体类型的成员 若有定义和声明

typedef enum

{ green, red, yellow, blue, b1ack }mycolor;

mycolor flower;,

则下列语句中正确的是 。 A.green=red; B.flower=red; C.mycolor=red; D.enum=red;

有以下程序

#include

main( ) {

char c1,c2;

scanf(“&c”,&c1);

while(c1<65||c1>90) scanf(“&c”,&c1);

c2=c1+32;

printf(“&c, &c\\n”,c1,c2); }

程序运行输入65回车后,能否输出结果、结束运行(请回答能或不能)【8】 。

(9)以下程序运行后的输出结果是【9】 #include main( )

{int k=1,s=0; do{ if{((k&2)!=0)continue; s+=k;k++; }while(k)10); printf(“s=&d/n”,s); }

(10)下列程序运行时,若输入labced12df<回车>输出结果为【10】

#include main( ) {char a =0,ch;

while((ch=getchar())!=’\\n’)

{if(a&2!=0&&(ch>’a’&&ch<=’z’)) ch=ch-‘a’+’A’; a++;putchar(ch); }

printf(“\\n”); }

(11)有以下程序,程序执行后,输出结果是【11】 #include void fun (int *a) {a[0=a[1];]} main()

{int a[10]={10,9,8,7,6,5,4,3,2,1},i; for(i=2;i>=0;i--) fun{&a};

for(i=0;i<10;i++) printf(“&d”,a); printf(“\\n”); }

下面程序运行输出结果是 。

#include #include int main() { FILE *fp;

char *str1=\fp=fopen(\fwrite(str2, strlen(str2), 1,fp); rewind(fp);

fwrite(str1, strlen(str1), 1,fp); fclose(fp);

fp=fopen(\fread(str3,sizeof(str3),1,fp); puts(str3); return 0; }

下面程序运行时输出的结果是 。

#include

enum letter{A, B, C=3, D, E}; int main()

{ char *colorname[]={ \

enum letter c1=D, c2=C;

printf(\return 0; }

下面程序运行时输出的结果 。

#include int main()

{ int i,sum=0;

for(i=1;i<6;i++)

sum=sum+i; printf(\return 0; }

下面程序运行时输出的结果是 。

#include int main()

{ int x=0, y=1, z=10;

if(x)

if(y)

z=20; else

z=30;

printf(\return 0;

}

下面程序运行后输出的结果是 。

#include int main() { int x=9;

for(;x>0;x--)

if(x%3==0)

printf(\

return 0; }

下面程序运行时输出结果是 。

#include int fun(int m)

{ static int n=1;

n++; m+=n; return m; }

int main() { int d;

d=fun(3);

printf(\return 0; }

下面程序运行时输出结果是 。

#include int main()

{ int t=1, n=235;

do

{ t*=n;

n/=10; }while(n);

printf(\return 0; }

下列程序运行时输出的结果是 。

#include int y=1;

int func(int x)

{ y*=x; return y;} int main() { int a=1,i;

for(i=2;i<4;i++)

a=a+func(i); printf(\return 0; }

下面程序运行时输出的结果是 。

#include #include void fun(char ch[]) { int i, j, len;

len=strlen(ch);

for(i=0, j=0; ch[i]; i++)

if((ch[i]>= 'A'&&ch[i]<= 'Z')||(ch[i]>= 'a'&&ch[i]<= 'z'))

ch[j++]=ch[i];

ch[j]= '\\0'; }

int main()

{ char s[20]= \

fun(s);

printf(\return 0; }

下面程序运行时输出结果是 。

#include int main()

{ char *p, *q=\

p = q;

while(*q) q++;

printf(\return 0; }

下面程序运行输出结果是 。 #include #include int main() { FILE *fp;

char *str1=\fp=fopen(\fwrite(str2, strlen(str2), 1,fp);

rewind(fp);

fwrite(str1, strlen(str1), 1,fp); fclose(fp);

fp=fopen(\fread(str3,sizeof(str3),1,fp); puts(str3); return 0;

}

下面程序运行时输出的结果是 。

#include

enum{A, B, C, D}letter; int main()

{ char s[ ]= \

letter=C;

putchar(s[letter]); return 0; }

下面程序运行后输出的结果是 。

#include int main() { char i;

for(i='a' ;i<'f';i++,i++)

printf(\return 0; }

下面程序运行时输出的结果是 。

#include int main()

{ int i, m=0;

for(i=0; i<5; i++) { switch(i)

{ case 0:

case 1: m++; case 3: m++;

case 4: m--; break; } }

printf(\return 0; }

下面程序运行时输出结果是 。

#include long fun(int n)

{ static long t;

if(n==1)return t=2; else return ++t; }

int main()

{ long i, sum=0;

for(i=0; i<4; i++) sum+=fun(i); printf(\}

下面程序运行时输出结果是 。

#include void f(int b)

{ int a; a=b; b=3; } int main()

{ int a=3, b=5;

f(b);

printf(\return 0; }

下列程序运行时输出的结果是 。

#include int y=1;

int func(int x)

{ y*=x; return y;} int main() { int a=1,i;

for(i=2;i<4;i++)

a=a+func(i); printf(\return 0; }

下列程序段的输出结果是 。

#include int main()

{ int k; char *s = \

for( k=10; k != 0; k--); printf (\

while(*s++) putchar(*s); }

下面程序运行时输出结果的第一行是 。

#include #include

void pro(char *ch1, char *ch2, char *ch3, int d)

{ int i=0, j = 0, n1=strlen(ch1), n2=strlen(ch2), n3=0;

while(i

{ if (d ==1&&ch1[i]ch2[j])

ch3[n3++]=ch1[i++]; else

ch3[n3++]=ch2[j++];}

ch3[n3]= '\\0';

if ( i

}

int main()

{ char ch1[]= \

pro(ch1, ch2, s, 1);puts(s); pro(ch3, s4, s, 2);puts(s); return 0; }

下面程序运行时输出结果是 。

#include int main()

{ int i=0, n=0;

char ch[80], *s;

strcpy(ch, \for(s=ch; *s!= '\\0'; s++) if(*s==' ')

i=0; else

if(i==0)

{ n++; i=1; } printf(\return 0; }

下面程序运行时输出的结果是 。 #include enum {A, B, C=4}n; int main()

{ char *p=\ n=C; printf(\ return 0; }

下面程序运行时输出结果的第一行是 ,第二行是 。 #include int main() { FILE *fp;

int m, n, a[6]={ 4, 5, 6,1, 2, 3};

fp=fopen(\

fprintf(fp, \fprintf(fp, \fclose(fp);

fp=fopen(\fscanf(fp, \printf(\fclose(fp); return 0;

}

下面程序运行时输出的结果是 。 #include int main()

{ int i=1, k=1; switch(i) { case 1:

case 2: k++; case 3: k++; }

printf(\return 0; }

下面程序运行时输出的结果是 。 #include int main()

{ char ch=256; int n=ch;

printf(\return 0; }

下面程序运行时输出结果是 。 #include sum( int n)

{ static int x=0; return x+=n; }

int main() { int s, i;

for(i=1; i<=5; i++)

s=sum(i); printf(\return 0; }

下面程序运行时输出结果是 。 #include \int x = 2; int fun(int x) { if(x == 3)

{int x = 2; return x; } else

return x;

}

int main() { int b;

b = fun(3);

printf(\return 0; }

下列程序运行时输出的结果是 。 #include int fun(int k) { int i; int j = 0;

return ++i+k+j++; }

int main() { int i, n;

for(i=0;i<4;i++) n+=fun(i);

printf(\return 0; }

下面程序在运行时,输入elephant后的输出结果的第一行是 ,第二行是 。 #include int main()

{ int i=0, k, ch; int num[5]={0}; char alpha[]={'a', 'e', 'i', 'o', 'u'}, in[80]=\ while(in[i]) { for(k=0; k<5; k++) if(in[i] == alpha[k]) num[k]++; i++; } for(k=0; k<5; k++) if(num[k])

}

printf(\return 0;

本文来源:https://www.bwwdw.com/article/5hag.html

Top