admin 管理员组

文章数量: 887032


2024年1月26日发(作者:10010111二进制转十进制)

C语言程序设计课后练习辅导资料

题型

单选题

题干

以下选项中合法的实型常数是( )。

选项

A. 5E2.0

B. E-3

C. .2E1

D. 1.3E

A.

scanf(“%2d%2d%2d”,&i,&j,&k);

B.

scanf(“%d %d %d”,&i,&j,&k);

C.

scanf(“%d,%d,%d”,&i,&j,&k);

D.

scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);

A. 6.500000

B.6

C. 5.500000

D. 6.000000

A. n=(i=2,++i);

B. j++;

C. ++(i+1);

D. x=j>0;

A. 8,6

B. 8,3

C. 6,4

D. 7,4

答案

C

单选题

已知i、j、k为int型变量,若从键盘输入:1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是( )。

C

单选题

设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是( )。

D

单选题

以下非法的赋值语句是( )。

C

单选题

若有以下程序:

main()

{ int k=2,i=2,m;

m=(k+=i*=k);

printf(“%d,%dn”,m,i);}

C

单选题

执行后的输出结果是( )。

以下选项中,与k=n++完全等价的表达式是( )。

单选题

已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是( )。

单选题

下列关于C语言用户标识符的叙述中正确的是( )。

单选题

已知c是字符型变量,以下不正确的赋值语句是

( )。

单选题

C语言中对于嵌套if语句规定else总是与( )配对?

单选题

下面的for循环最多可执行( )次。

for(x=0;y=0;(y!=99)&&(x<4);x++);

A. k=n,n=n+1

B. n=n+1,k=n

C. k=++n

D. k+=n+1

A. 6

B. 0

C. 2

D. 1

A.用户标识符中可以出现在下划线和中划线(减号)。

B.用户标识符中不可以出现中划线,但可以出现下划线。

C. 用户标识符中可以出现下划线,但不可以放在用户标识符的开头。

D. 用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头。

A. c=”a”

B. c=’a’

C. c=’141’

D. c=’x61’+3

A.第一个if

B.其之前最近的if

C.缩进位值相同的if

D.其之前最近的不带else的if语句

A.4次

B.5次

C.99次

A

D

B

A

D

A

单选题

C语言中各种基本数据类型的存储空间长度排列为( )。

单选题

下列说法中正确的是( )。

单选题

以下不符合C语言语法的赋值表达式是( )。

单选题

下列判断char类型变量C1是为数字的最简单且正确的表达式( )。

单选题

字符串”’abcd123xABt”的长度为( )。

D.0次

A.

char≤long≤int≤float≤double

B.

double≤float≤long≤int≤char

C.

char≤int≤long≤float≤double

D.

float≤int≤long≤char≤double

A. 在switch语句中一定要使用break语句

B. 在switch语句中不一定要使用break语句

C. break语句是switch语句的一部分

D. break只能用于switch语句中

A. d=9+e,e++,d+9

B. k=i= =j

C. n1+=n2+3

D. a=b+c=a+7

A. '0'<=C1<='9'

B. (C1>='0')&&(C1<='9')

C. (C1>=0)&&(C1<=9)

D. ('0'<=C1)&&('9'<=C1)

A. 8

B. 17

C

B

D

B

D

单选题

执行以下程序段后,变量a,b,c的值为( )。

int x=11,y=10,a,b,c;

a=(--x==y++)?--x:++y;

b=x++; c=y;

以下程序的输出结果是用( )表示。

main( )

{ int k=17;

printf("%d,%o,%x n",k,k,k);

}

若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)

s=a;

for(b=1;b<=c;b++) s=s+1;

则与上述程序段功能等价的赋值语句是( )。

有如下程序

void f(int x,int y)

{ int t;

if(x

}

main()

{ int a=4,b=3,c=5;

f(a,b); f(a,c); f(b,c);

printf("%d,%d,%dn",a,b,c);

}

单选题

C. -9

D. 10

A. a=10,b=10,c=9

B. a=9,b=9,c=12

C. a=9,b=9,c=11

D. a=1,b=9,c=11

A. 17,021,0x11

B. 17,17,17

C. 17,0x11,021

D. 17,21,11

A. s=a+b;

B. s=a+c;

C. s=s+c;

D. s=b+c;

A.3,4,5

B.5,3,4

C.5,4,3

D.4,3,5

C

D

单选题

B

单选题

D

执行后输出结果是( )。

单选题

有以下程序

main()

{ char s[]="n123";

printf("%d,%dn",strlen(s),sizeof(s));

}

A.赋初值的字符串有错

B.6,7

C.5,6

C

执行后输出结果是( )。

单选题

以下程序的输出结果是( )。

main()

{ char ch[3][5]={“AAAA”,”BBB”,”CC”};

printf(“”%s”n”,ch[1]);

D.6,6

A.“AAAA”

B.“BBB”

C.“BBBCC”

D.“CC”

A.局部变量说明为B

}

单选题

以下叙述中正确的是( )。

单选题

在函数调用过程中,如果函数funA调用了函数

funB,函数funB又调用了函数funA,则( )。

static存储数,其生存期将得到延长

B.全局变量说明为static存储类,其作用域将被扩大

C.任何存储类的变量在未赋初值时,其值都是不确定的

D.形参可以使用的存储类说明符与局部变量完全相同

A.称为函数的直接递归调用

B.称为函数的间接递归调用

C.称为函数的循环调用

D.C语言中不允许这样的A

B

单选题

C语言中数组下标的下限是( )。

单选题

若有定义int a[2][2]={0};,则以下描述正确的是( )。

单选题

下面函数f的定义:

f(int a) {printf("%d",a);}

函数f的返回类型( )。

单选题

以下正确的说法是( )。

单选题

C语言标准库函数递归调用

A.1

B.0

C.视说明语句而定

D.无固定下限

A.只有a[0][0]的值为0

B.数组每个元素的值都为0

C.只有a[0][1]的值为0

D.以上都不正确

A.同参数a的类型相同

B.是void类型

C.没有返回值

D.无法确定

A.定义函数时,形参的类型说明可以放在函数体内

后边的值不能为表达式

C.如果函数值的类型与返回值类型不一致,以函数值类型为准

D.如果形参与实参类型不一致,以实参类型为准

A.将串STR1复制到串B

B

A

C

C

“strcat(strcpy(STR1,STR2),STR3)”的功能是( )。

单选题

以下程序的输出结果是( )。

#define p( v, format) printf(“v=%format”,v)

#define s(x) 3.5*x*x

main(){ int a=1,b=2;float s1;

s1=s(a+b);p(s1,f);}

单选题

STR2中后再连接至串STR3之后

B.将串STR1连接至STR2之后再复制至串STR3之后

C.将串STR2复制到串STR1串后再将串STR3连接到串STR1 之后

D.将串STR2连接到串STR1之后再将串STR1复制到串STR3串

A.s1=31.5

B.v=31.500000ormat

C.v=7.500000ormat

D.s1=7.5

A.p=q;

B.*p=*q;

C.n=*q;

D. p=n;

A.不确定的值

B.形参C

若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是( )。

D

单选题

已定义以下函数

fun (int *p)

{ return *p: }该函数的返回值是( )。

C

p中存放的值

C.形参p所指存储单元中的值

D.形参p的地址值

单选题

有以下程序

main()

{ char *s[]={"one","two","three"},*p;

p=s[1];

printf("%c,%sn",*(p+1),s[0]);

}

A.n,two

B.t,one

C.w,one

D.o,two

C

执行后输出结果是( )。

单选题

若有定义:int *p[3];, 则以下叙述中正确的是( )。

A.定义了一个基类型为B

单选题

已定义以下函数

fun(char *p2, char *p1)

{ while((*p2=*p1)!=‘0’){p1++;p2++; } }函数的功能是( )。

int的指针变量p,该变量具有三个指针

B.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针

C.定义了一个名为*p的整型数组,该数组含有三个int类型元素

D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素

A.将p1所指字符串复制到p2所指内存空间

B.将p1 所指字符串的地址赋给指针 p2

A

C.对单选题

有以下程序段

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;

b=p[5];

b中的值是( )。

单选题

运行下列程序后的输出结果是( )。

main() { char str[][10]={"China","Beijing"},*p=*str;

printf("%sn",p+10);}

单选题

设有说明:

union data {

int i;float f;

struct {

int x;char y;

}s;

double d;

}a; 在

p1和p2两个指针所指字符串进行比较

D.检查p1和p2两个指针所指字符串中是否有‘0’

A.5

B.6

C.8

D.9

g

A.8

B.17

C.9

D.15

D

B

A

16位微机环境下,int类型的整数占用两个字节,则变量a在内存中所占字节数为( )。

单选题

下面对结构数据类型的叙述中,( )是错的。

A.结构变量可以在说明结构类型后定义,也可在说明结构时定义

B.结构可由若干个成员组成,各成员的数据类型可以不同

C.定义一个结构类型后,编译程序C

单选题

在C语言中,文件若按数据的组织形式分类可分为( )。

要为结构的各成员分配存储空间

D.结构变量的各成员可通过结构变量名和指向结构变量的指针引用

A.字符文件和数字文件

B

文件和二进制文件

C.顺序文件和随机文件

D.以上均不对

A.*p+6

D

单选题

若有以下说明:

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是B.*(p+6)

C.*p+=5

D.p+5

A.子程序

B.过程

C.函数

D.主程序与子程序

A. case

B. -ac

C. _53

D. ab-c

ue语句的作用是结束整个循环的执行

B.只能在循环体内和switch语句体内使用break语句

C.在循环体内使用break语句或continue语句的作用相同

D.从多层循环嵌套中退出时,只能使用goto语句

A. x1=26.8%3

B. 1+2=x2

C

( )。

单选题

C语言程序由( )组成。

单选题

下列有四个用户定义的C语言标识符,只有一个是正确的,正确的是( )。

C

单选题

以下正确的描述是( )。

B

单选题

若以下选项中的变量已正确定义,则正确的赋值语句是( )。

C

单选题

若变量都已正确说明,则以下程序段( )。

a=2;b=3;

printf(a>b?”***a=%d”:”###b=%d”,a,b);

若变量都已正确说明,则以下程序段输出为( )。

a=10;b=50;c=30;

if(a>b)a=b;

b=c;c=a;

printf(“a=%d b=%d c=%dn”,a,b,c);

以下程序输出的结果是( )。

#include <stdio.h>

main()

{int i=0,j=0,a=6;

if((++i>0)||(++j>0))a++;

printf(“i=%d,j=%d,a=%dn”,i,j,a);

}

以下叙述中正确的是( )。

单选题

C. x3=0x12

D. x4=1+2=3

A.没有正确的输出格式控制

B.输出为:***a=2

C.输出为:###b=2

D.输出为:***a=2###b=2

A. a=10 b=50 c=10

B. a=10 b=30 c=10

C. a=50 b=30 c=10

D. a=50 b=30 c=50

A. i=0,j=0,a=6

B. i=1,j=1,a=7

C. i=1,j=0,a=7

D. i=0,j=1,a=7

C

B

单选题

C

单选题

单选题

a的初值为10,执行表达式语句a+=a-=a*a;后,a的值为( )。

单选题

在C语言中,设a和x都为整型变量,执行赋值表达式x=(a=3,6*3)后,x的值为 ( )。

A.在对一个C程序进行编译的过程中,可发现注释中的拼写错误。

B.在C程序中,main()函数必须位于程序的最前面。

C. C语言本身没有输入输出语句。

D. C程序的基本单位是语句。

A. -80

B. -180

C. -90

D. -100

A.54

B.3

C

B

C

单选题

单选题

单选题

设x和y均为int型变量,则执行下面的循环后,y值为( )。

for (y=1,x=1;y<=50;y++)

{ if ( x>=10) break;

if ( x%2==1) { x+=4; continue;}}

设有如下程序段,其结果是( )。

int a=100,b=100;

for(;a!=b;++a,b++ )

printf(“---n”);

整型变量a的取值范围为闭区间[-1,10]或开区间(20,40),则正确表示的逻辑表达式为( )。

单选题

若有代数表达式(5ae)/(bc),则不正确的C语言表达式( )。

单选题

以下不符合C语言语法的赋值表达式是( )。

单选题

若int类型占两个字节,则以下语句输出为( )。

int k=-1;

printf("%d,u%n",k,k);

假设a为float类型数,i为整型变量,则下述语句能将a中的数值保留小数点1位,即四舍五入的是( )。

单选题

C.18

D.21

A.2

B. 4

C. 6

D. 8

A.输出---

B. 输出100行---

C. 死循环

D. 该for循环一次也不执行

A.–1<=a<=10 | 20<a<40

B. (–1<=a && a<=10)| (20<a && a<40)

C. (–1<=a && a<=10)||(20<a && a<40)

D. –1<=a<=10 || 20<a<40

A. a/b/c*e*5

B. 5*a*e/b/c

C. 5*a*e/b*c

D. a*e/c/b*5

A. d=9+e,e++,d+9

B. k=i= =j

C. n1+=n2+3

D. a=b+c=a+7

A. -1,-1

B. -1,65536

C. -1,32768

D. -1,65535

A. a=(a*10+0.5)/100.0

B. i=a*10+0.5,a=i/10.0

C. a=int(a*10)/10.0

B

D

C

C

D

D

B

单选题

设x=3,y=-4,z=6,下面表达式的结果是( )。

!(x>y)+(y!=z)||(x+y)&&(y-z)

单选题

在C语言中,逻辑值“真”用( )表示?

单选题

已知ch是字符型变量,下面正确的赋值语句是( )。

D. a=(a/100+0.5)*100.0

A. 0

B. 1

C. -1

D. 6

A. true

B. 正数

C. 非0整数

D. 非0的数

A. ch=‘123’;

B. ch=‘xff’;

C. ch=‘08’

D. ch=“”

A.3

B.5

C.1

D.字符串中有非法字符,B

D

B

单选题

若有以下说明和语句,则输出结果是( )。

char sp[]="x69082n";

B

printf("%d",strlen(sp));

单选题

若有变量说明:char s,s1[20];执行语句:s="student";s1=s;正确的叙述是( )。

单选题

变量的有效范围与其定义位置有关,( ),其作用域在整个源程序文件中都有效。

输出值不定

A.二个语句都不正确

B.s所指向的字符串和s1的值都是"student"

C.第一个语句正确,而第二个语句不正确

D.第二个语句正确,而第一个语句不正确

A.在第一个函数中定义的变量

A

B

B.在定义第一个函数之前单选题

若程序中定义了以下函数

double myadd(double a,double B)

{ return (a+B) ;}

并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是 ( )。

单选题

有以下程序

void f(int v , int w)

{ int t;

t=v;v=w;w=t;

}

main( )

{ int x=1,y=3,z=2;

if(x>y) f(x,y);

else if(y>z) f(y,z);

else f(x,z);

printf(“%d,%d,%dn”,x,y,z);

}

所定义的变量

C.在主函数中定义的变量

D.在函数中定义的静态变量

myadd(double

a,B);

myadd(double,double);

myadd(double

b,double A);

myadd(double

x,double y);

A.1,2,3

B.3,1,2

C.1,3,2

D.2,3,1

A

C

执行后输出结果是( )。

单选题

若有宏定义与变量说明如下:

A.7 5

A

#define X 5

#define Y X+1

#define Z Y*X/2

int a; a=Y;

则执行以下printf语句后输出的结果是( )。

单选题

B.12 6

C.12 5

D.7 6

Printf("%d %dn",Z,--a);

数组名作为参数传递给函数,此时作为实在参数的数组名被处理为( )。

A.该数组的长度

B.该数组的元素个数

C.该数组中各元素的值

D.该数组的首地址

D

单选题

执行完下面的程序段后,屏幕显示的内容为( )。

main()

{ int a=2,i;

for(i=0;i<3;i++) printf("%d",f(a));

}

f(int a)

{ int b=0;

static int c=3;

b++;

c++;

return(a+b+c);

A.777

B.7 7 7

C.789

D.7 8 9

C

}

单选题

以下描述中,正确的是( )。 A.调用函数时,实参可以A

是表达式

B.调用函数时,将为形参分配内存单元

C.调用函数时,实参与形参的原型必须一致

D.调用函数时,实参与形单选题

单选题

单选题

单选题

单选题

参可以用内存单元

在C语言中,引用数组元素时,其下标的数据类型A.整型常量

允许是( )。 B.整型表达式

C.整型常量或整型表达式

D.任何类型的表达式

有语句char str1[10],str2[10]={"books"};则能1={"Books"};

将字符串books赋给数组str1的正确语句是(str1,str2);

( )。 1=str2;

(str2,str1);

以下函数调用中有( )个实参。

A.4个

expd((a1,a2,a3),(a4,a5),a7,a8)

B.3个

C.8个

D.5个

C语言的编译系统对宏命令是( )时候处理的。 A.在程序运行

B.在程序连接时

C.和源程序其它C语言同时进行编译时

D.对源程序其它成份正式编译之前进行处理的

设有定义:int a,*pA=&a;以下scanf语句中能正(“%d”,pA) ;

确为变量a读入数据的是( )。 (“%d”,A) ;

(“%d”,&pA) ;

(“%d”,*pA);

C

B

A

D

A

单选题

若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是( )。

A.a,point,*&a

B.&*a,&a,*point

C.*&point,*point,&a

D.&a,&*point,piont

D

单选题

有以下程序

main( )

{ char

*p[10]={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”};

printf(“%dn”,strlen(p[4]));

}

A.2

B.3

C.4

D.5

A

执行后输出结果是( )。

单选题

C语言结构体类型变量在程序执行期间( )。 A.所有成员一直驻留在内A

单选题

以下对C语言中共用体类型数据的叙述( )的叙述是正确的。

存中

B.只有一个成员驻留在内存中

C.部分成员驻留在内存中

D.没有成员驻留在内存中

A.可以对共有变量名直接赋值

B.一个共用体变量中可以同时存放其所有成员

C.一个共有体变量中不能同时存放其所有成员

D.共用体类型定义中不能出现结构体类型的成员

C

单选题

设有如下定义

struct ss

{ char name[10];

int age;

char sex;

}std[3],*p=std;

("%d",&(*p).ageB

下面各输入语句中错误的是( )。

单选题

以下叙述中不正确的是( )。

单选题

如果希望向文本文件末尾添加数据,则应以( )方式打开文件。

单选题

阅读下面程序,并给出结果( )。

main()

{

union EXAMPLE { struct{

int x; int y; }in;

int a,b;

);

("%s",&);

("%c",&std[0].sex)

("%c",&(p->sex));

A.C语言中的文本文件以ASCⅡ码形式存储数据

B.C语言中对二进制文件的访问速度比文本文件快

C.C语言中,随机读写方式不适用于文本文件

D.C语言中,顺序读写方式不适用于二进制文件

A."r"

B."w"

C."a"

D."ab"

A.3 8

B.4 8

C.4 7

D.2 5

D

C

B

}e;

e.a=1;e.b=2;

.x=e.a*e.b;

.y=e.a+e.b;

printf("%d%d",.x,.y);

}

单选题

以下函数的功能是( )。

fun(char *a,char *b)

{ while((*a!='0')&&(*b!='0')&&(*a= =*b))

{ a++;b++;}

A.计算return(*a-*b);}

单选题

若有定义:int a[3][4];则对该数组的i行j列元素值的正确引用为( )。

单选题

对于基类型相同的指针变量,不能进行( )运算。

单选题

下列说法不正确的是( )。

a和b所指字符串的长度之差

B.将b所指字符串连接到a所指字符串中

C.将b所指字符串连接到a所指字符串后面

D.比较a和b所指字符串的大小

A.*(*(a+i)+j)

B.(a+i)[j]

C.*(a+i+j)

D.*(a+i)+j

A.+

B.-

C.=

D.==

A.宏替换不占用运行时间

B.宏无类型

C.宏替换只是字符替换

D

A

A

D

D.宏名必须用大写字母表单选题

有两个字符数组a,b,则以下正确的输入语句是( )。

单选题

C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )。

单选题

设一整型(int)变量占用2个字节则下述共同体变量x所占用内存字节数为( )。union exp

{ int i;

float j;

double k;

}x;

单选题

(a,b);

("%s%s",a,b);

("%s%s",&a,&b);

("a"),gets

("b");

A.14个

B.7个

C.8个

D.随机而定

(文件指针,格B

B

C

下面正确调用形式是( )。

D

式字符串,输出表列);

(格式字符串,文件指针,输出表列);

(格式字符串,输出表列,文件指针);

(文件指针,格

单选题

若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是( )。

单选题

函数

AAA(s,t)

char *s,*t;

{ while(*t++);

t--;

while(*t++=*s++);

}

式字符串,输入表列);

B.0

C.非零值

A.求串的长度

B.比较两个串的大小

C.将串s复制到串t中

D.将串s连接到串t中

C

D

的功能是( )。

填空

以下函数的功能是删除字符串s中的所有数字字符。请填空。void dele(char s[])

{ int n=0,i;

for(i=0,s[i];i++)

if ____ )

s[n++]=s[i];

s[n]= ____ ;

s[i]<’0’ ||

s[i]>’9’;‘0’;

}

填空

运行程序后输出的第一行内容是 ____ 、第二行内容是 ____ 、最后一行内容是 ____ 。fun (int n,int *s){ int f1,f2;

if ( n= =1||n= =2) *s = 1; else { fun(n-1,&f1);fun(n-2,&f2); *s =2*f1+f2+1;printf(“ n%d,%d “,f1,f2);} }

main( )

1,1;4,1;x=10;

{ int x; fun (4,&x);printf(“nx=%d ”,

x);}

单选题

函数调用可以……,以下错误的是( )。 A.出现在执行语句中

B.出现在一个表达式中

C.作为一个函数的实参

D.作为一个函数的形参

D

单选题

下述对C语言字符数组的描述中错误的是( )。 A.字符数组可以存放字符C

单选题

C语言中函数能否嵌套调用和递归调用?以下说法正确的是( )。

B.字符数组的字符串可以整体输入、输出

C.可以在赋值语句中通过赋值运算符"="对字符数组整体赋值

D.不可以用关系运算符对字符数组中的字符串进行比较

A.二者均不可

B.前者可,后者不可

C.前者不可,后者可

D.二者均可

A.58

B.56

D

填空

单选题

凡是函数中未指定存储类别的局部变量,其隐含的存储类别为 ____ 。

有以下程序

main()

{ int p[7]={11,13,14,15,16,17,18},i=0,k=0;

auto(动态存储);

D

while(i<7&&p[i]%2){k=k+p[i];i++;}

printf("%dn",k);

}

C.45

D.24

执行后输出结果是( )。

单选题

以下叙述中正确的是( )。 A.全局变量的作用域一定B

单选题

程序如下:

#define N 5

#define M1 N*3

#define M2 N*2

main()

{ int i;

i=M1+M2; printf(“%dn”,i);

}

比局部变量的作用域范围大

B.静态(static)类别变量的生存期贯穿于整个程序的运行期间

C.函数的形参都属于全局变量

D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值

A.10

B.20

C.25

D.30

C

程序编译后运行的输出结果是( )。

单选题

若已定义的函数有返回值,则以关于该函数调用的A.调用可以作为独立的语叙述中错误的是( )。

句存在

D

B.调用可以作为一个函数单选题

以下不能正确定义二维数组的选项是( )。

单选题

有以下函数定义:

void fun( int n, double x) { …… }若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是( )。

单选题

有以下程序

#define f(x) x*x

main( )

{ int i;

i=f(4+4)/f(2+2);

printf(“%dn”,i);

}

的实参

C.调用可以出现在表达式中

D.调用可以作为一个函数的形参

a[2][2]={{1},{2}};

a[][2]={1,2,3,4};

a[2][2]={{1},2,3};

a[2][]={{1,2},{3,4}};

(int y,double m);

B.k=fun(10,12.5);

(x,n);

fun(n,x);

A.28

B.22

C.16

D.4

D

C

A

执行后输出结果是( )。

单选题

单选题

单选题

以下程序段中,不能正确赋字符串(编译时系统会

提示错误)的是( )。

s[10]=“abcdefg”;

t[]=“abcdefg”,*s=t;

s[10];s=“abcdefg”;

s[10];strcpy(s,“abcdefg”);

对于基类型相同的指针变量,不能进行( )运A.+

算。 B.-

C.=

D.==

写出下列语句执行结果( )。

A.1,5,24

int a,b,c,d=4,m=6,n=8;

B.4,5,23

int *p1=&d,*p2=&m,*p3;

a=p1==&d;

C.1,2,22

b=3*(-*p1)/(*p2)+7;

D.5,5,14

c=*(p3=&n)=*p1*(*p2);

printf("%d,%d,%d",a,b,c);

有以下程序

void fun(char *c,int d)

{ *c=*c+1;d=d+1;

printf(“%c,%c,”,*c,d);

A.B,a,B,a

B.a,B,a,B

C.A,b,A,b

C

A

A

单选题

D

}

main()

{ char a=’A’,b=’a’;

fun(&b,a); printf(“%c,%cn”,a,b);

}程序运行后的输出结果是( )。

若有以下的说明,则对初值中字符'a'的引用方式为( )。

static struct st

{ char ch;double x;char a[];}

D. b,B,A,b

单选题

B.c[0][0].ch

C.c[1][1].ch

D.a[0]

B

struct st

c[2][2]={{'a',3.5,'bc'},{'c',4.5,'de'},{'m',8.6,'abc'}};

单选题

有以下程序

#include

main( )

{ FILE *fp; int i,k=0,n=0;

fp=fopen(“”,”w”);

for(i=1;i<4;i++) fprintf(fp,”%d”,i);

fclose(fp);

fp=fopen(“”,”r”);

fscanf(fp,”%d%d”,&k,&n); printf(“%d %dn”,k,n);

fclose(fp);

}

A.1 2

B.123 0

C.1 23

D.0 0

B

执行后输出结果是( )。

单选题

以下枚举类型的定义中正确的是( )。 a={one, two,

B

three};

a {one=9, two=-

单选题

有以下程序

#include

main(){ char *p=“abcdeOfghjik0”;

printf(“%dn”,strlen(p));

}

程序运行后的输出结果是( )。

单选题

1,three};

a={“one” ,

“two”, “three”};

a {“one”,

“two”, “three”};

A.12

B.15

C.6

D.5

A.二进制文件打开后可以先读文件的末尾,而顺序文件不可以

B.在程序结束时,应当用D

以下叙述中错误的是( )。

D

单选题

若有如下说明,则( )的叙述是正确的。

struct st{int a;int b[2];}a;

fclose函数关闭已打开的文件

C.在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据

D.不可以用FILE定义指向二进制文件的文件指针

A.结构体变量a与结构体成员a同名,定义是非法的

D

B.程序只在执行到该定义单选题

对于用"r"方式打开文件下列说法正确的是( )。

时才为结构体st分配存储单元

C.程序运行时为结构体st分配6个字节存储单元

D.类型名struct st可以通过extern关键字提前引用(即引用在前,说明在后)

A.用"r"方式打开的文件只输入不能输出

B.用"r"方式打开的文件只能输出,不能输入

C.用"r"方式可以打开任何文件

D.以上均不对

A.*(y[l]+2)

B.*(y+1)+2

[2]

2[1][2]

B

单选题

如有以下定义“int

y[4][4]={1,2,3,4,5,6,7,8,9,10},*pyl=y[l],(*py2)[4]=y;”,则不能正确引用值为7的数组元素的表达式是( )。

B


本文标签: 变量 函数 文件 类型 语句