自考“C语言程序设计”模拟试题一

自考“C语言程序设计”模拟试题一,第1张

一、填空题

1、C语言中基本的数据类型有:______、______ 、______

2、C语言中普通整型变量的类型说明符为______,在内存中占______字节,有符号普通整型的数据范围是______

3、整数-35在机内的补码表示为______

4、执行下列语句int a=8; a+=a-=aa; 后,a的值是______

5、有如下语句:char A[ ]={“I am a student”}; 该字符串的长度是______,A[3]=______

6、符号“a”和‘a’的区别是______

7、所谓“指针”就是______“&”运算符的作用是______“”运算符的作用是______

8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是______

二、选择题

1、设整型变量a为5,使b不为2的表达式是( )。

A b=a/2 B b=6-(——a) C b=a%2 D b=a>3?2:1

2、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与( )组成配对关系。

A 缩排位置相同的if B 在其之前未配对的if

C 在其之前未配对的最近的if D同一行上的if

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

int x=10,y=10;

printf(“%d %d\n”,x——,——y);

A 10 10 B 9 9 C 9 10 D 10 9

4、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( )。

AP+i2 B P+(i-1)2 C P+(i-1) D P+i

5、选出下列标识符中不是合法的标识符的是( )。

A hot_do B cat1 C _pri D 2ab

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

int a=5;

float x=314;

a=x(‘E’ - ‘A’);

printf(“%f\n”,(float)a);

A 62000000 B 62800000 C 63000000 D 62

7、设有说明double(p1)[N];其中标识符p1是( )。

A N个指向double型变量的指针。

B 指向N个double型变量的函数指针。

C 一个指向由N个double型元素组成的一维数组的指针。

D具有N个指针元素的一维指针数组,每个元素都只能指向double型量。

8、在C程序中有如下语句:char func(int x,int y);它是( )。

A 对函数func的定义。 B 对函数func的调用。

C对函数func的原型说明。 D 不合法的。

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

char str[15]=“hello!”;

printf(“%d\n”,strlen(str));

A 15 B 14 C 7 D 6

10、分析以下程序的输出结果是( )。

main()

{int a=5,b=-1,c;

c=adds(a,b);

printf(“%d”,c);

c=adds(a,b);

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

int adds(int x,int y)

{static int m=0,n=3;

n=++m;

m=n%x+y++;

return(m); }

A 2,3 B 2,2 C 3,2 D 2,4

11、下列描述中不正确的是( )。

A 字符型数组中可能存放字符串。

B 可以对字符型数组进行整体输入、输出。

C 可以对整型数组进行整体输入、输出。

D 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。

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

#define f(x) xx

main()

{int a=6,b=2,c;

c=f(a)/f(b);

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

}

A 9 B 6 C 36 D 18

13、设有如下定义: int x=10,y=3,z;

则语句printf(“%d\n”,z=(x%y,x/y)); 的输出结果是( )。

A 1 B 0 C 4 D 3

14、定义如下变量和数组:int i;int x[3][3]={1,2,3,4,5,6,7,8,9};

则语句for(i=0;i<3;i++) printf(“%d ”,x[i][2-i]); 的输出结果是( )。

A 1 5 9 B 1 4 7 C 3 5 7 D 3 6 9

15、以下对二维数组a进行正确初始化的是( )

A int a[2][3]={{1,2},{3,4},{5,6}}; B int a[ ][3]={1,2,3,4,5,6};

C int a[2][ ]={1,2,3,4,5,6}; D int a[2][ ]={{1,2},{3,4}};

16、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是( )。

int x;

scanf(“%d”,&x);

if(x++>5) printf(“%d”,x);

else printf(“%d\n”,x - -);

A 7和5 B 6和3 C 7和4 D 6和4

17、设有如下定义: char aa[2]={“abcd”,“ABCD”}; 则以下说法中正确的是( )。

A)aa数组成元素的值分别是“abcd”和ABCD“

B)aa是指针变量,它指向含有两个数组元素的字符型一维数组

C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

D)aa数组的两个元素中各自存放了字符‘a’和‘A’的地址

18、下列程序的输出结果是( )。

char p1=“abcd”, p2=“ABCD”, str[50]=“xyz”;

strcpy(str+2,strcat(p1+2,p2+1));

printf(“%s”,str);

A xyabcAB B abcABz C ABabcz D xycdBCD

19、下列程序的输出结果是( )。

int a[5]={2,4,6,8,10},P, k;

p=a; k=&p;

printf(“%d”,(p++));

printf(“%d\n”, k);

A 4 4 B 2 2 C 2 4 D 4 6

20、不能把字符串:Hello!赋给数组b的语句是( )。

A char b[10]={‘H’,‘e’,‘l’,‘l’,‘o’,‘!’};

B char b[10]; b=“Hello!”;

C char b[10]; strcpy(b,“Hello!”);

D char b[10]=“Hello!”;

三、读程序题

1、float f=31415927;

printf(“%f,%54f,%33f”,f,f,f);

则程序的输出结果是

2、int x=6, y=7;

printf(“%d,”,x++);

printf(“%d\n”,++y);

程序的输出结果是

3、a=3;

a+=(a<1)?a:1;

printf(“%d”,a);

结果是

4、for (a=1,b=1;a<=100;a++)

{ if(b>=20) break;

if(b%3==1)

{b+=3; continue;}

b-=5; }

程序的输出结果a的值为

5、int y=1, x, p, a[ ]={2,4,6,8,10};

p=&a[1];

for(x=0;x<3;x++)

y + = (p + x);

printf(“%d\n”,y);

程序的输出结果y的值是

四、程序填空题

1、从键盘上输入10个数,求其平均值。

main()

{int i;

float f,sum;

for(i=1,sum=00;i<11;i++)

{ ;

; }

printf(“average=%f\n”,sum/10); }

2、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。

#include

main()

{ FILE fp;

char c;

fp= ;

do{

c=getchar();

fputs(c,fp);

}while(c!=EOF);

}

3、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出成绩和最低成绩,当输入负数时结束输入。请填空。

main()

{ float x,amax,amin;

scanf(“%f”,&x);

amax=x; amin=x;

while( )

{ if(x>amax) amax=x;

if( ) amin=x;

scanf(“%f”,&x); }

printf(“\namax=%f\namin=%f\n”,amax,amin); }

五、编程题

1 三个整数a、b、c,由键盘输入,输出其中的一个数。

2输出1900~2000年中所有的闰年。每输出3个年号换一行。(判断闰年的条件为下面二者之一:能被4整除,但不能被100整除。或者能被400整除。)

3请编一个函数int fun(int a),它的功能是:判断a是否是素数,若a是素数,返回1;若不是素数,返回0A的值由主函数从键盘读入。

4有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩的学生信息,包括学号、性别、姓名和平均成绩。

一、选择题

1、C语言规定,在一个源程序中,main()函数的位置(C )。

A) 必须在最开始 B)必须在最后

C) 可以任意 D) 必须在系统调用的库函数后面

这题你死记就行,你看看这个

任何一个C++程序都必须定义一个main函数,它的返回类型总是int类型。这个函数由 *** 作系统来调用,在main函

数执行完以后,程序也就终止了。 main也可以使用return向 *** 作系统返回一个值,使用 *** 作系统的命令可以检测

main的返回值。一般约定在main返回0时,表示程序运行过程中没有出现错误,其它非零值表示程序出现异常情况。

若没有为main指定返回值,这样返回值是任意的。

2、若x和y都是int 型变量,x=100,y=200,且有以下程序段,printf(“%d”,(x,y));则其输出结果是( A)。

A) 200 B) 100 C) 100 200 D) 输出不确定值

(x,y)这是个逗号表达式,表达式的值为最后一个逗号后面表达式的值,因为前面有一个%d,所以输出 的是y的

3、合法的C语法字符常量是(C )。

A) “A” B) 65 C) ‘\t’ D) A

字符都是由两个单引号括起来的,死记, a)为字符串

4、表达式“3!=4”的值是(A )。

A) 1 B) 0 C) T D) F

!=是c语言的逻辑运算符,3!=4为真,多以得1, 3=4为假,值为0

5、 int a=1,b=2,c=3,d=4,执行下列程序后x的值为( C)。

if(a>b) x=1;else if (c>d) x=2;else x=3;

A) 1 B) 2 C) 3 D) 4

如果a>b,1>2为假,不执行x=1,执行else if(c>d),判断:3>4为假,不执行x=2,执行=3,完

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

Int x=10,y=3,z;printf(“%d\n”,z=(x%y,x/y));

A)1 B) 0 C) 4 D) 3

逗号表达式,x%y,10%3,商3余1,模取余数1,x/y,10/3,商3余1,除法取商3,逗号表达式,表达式的值为最后一

个逗号后面表达式的值

7、为表示x≥y≥z,应使用C语言表达式(A )。

A) (x>=y)&&(y>=z) B) (x>=y) AND (y>=z)

C) (x>=y>=z) D) (x>=y) & (y>=z)

关系运算符,x>=y与y>=z必须是同时成立的,因此要用逻辑运算符&&,&&与的意思

8、合法的数组定义是( a )。

A) int a[ ]=”string”; B) int a[5]={0,1,2,3,4,5};

C) char a=”string”; D) char a[ ]={“01234”};

a不指定数组长度定义,正确

b数组长度为5,就是里面有5个数组元素,多了一个数组元素

c定义a不是数组而是一个变量,素组应该是a[]

d是错的,字符串是这样定义的:char a[ ]={'0','1','2','3','4','\0'};

[4]中数字是数组长度,说明里面有几个元素

9、设x和y均为int型变量,则语句“x+=y;y=x-y;x-=y;”的功能是(D)。

A) 把x和y按从小到大排列 B)把x和y按从大到小排列

C)无确定结果 D)交换x和y中的值

x+=y等同于x=x+y,把x加y的值赋给x,x现在存的是x与y的和

y=x-y把x减y的值赋给y,x现在存的是x与y的和 (x+y)-y=x,把x的值给y,y存x的值

x-=y等同于x=x-y,把x减y的值赋给x,(x+y)-y=x,现在的后面的y存的是x的值,做完后x里存的值是y,完成交换

10、若已定义x和y为double类型,则表达式“x=1,y=x+3/2”的值是(C)。

A) 1 B)2 C) 20 D) 10

逗号表达式,先让x=1在算y=x+3/2,得2,因为是double类型,所以有小数点

11、下列条件语句中,功能与其他语句不同的是 (D)

A) if(a) printf("%d\n",x); else printf("%d\n",y);

B) if(a==0) printf("%d\n",y); else printf("%d\n",x);

C) if (a!=0) printf("%d\n",x); else printf("%d\n",y);

D) if(a==0) printf("%d\n",x); else printf("%d\n",y);

a 如果a为真输出x,如果a为假输出y

b 如果a==0,也就是为假,输出y,a为真输出x,同a

c 如果a!=0为真,输出x,a为假输出y同上

d 如果a为假输出x,如果a为真输出y,与以上的都不同

12、以下能正确定义二维数组的是 (C)

A) int a[][3]; B) int a[][3]=2{23};

C) int a[][3]={0}; D) int a[2][3]={{1},{2},{3,4}};

a 没有给数组赋初值

b {}里不能有

c 正确,记住第一个[]中可以为空,第二个[]不能为空,死记

d a[2][3] 的意思是有两个一维数组,每个一维数组里有3个元素,{{1},{2},{3,4}}; 她的意思是三个数组,{}中的每一个{}代表一个数组,里边的数为数组元素

13、用C语言编写的代码程序 (B)

A)可立即执行 B)是一个源程序

C)经过编译即可执行 D)经过编译解释才能执行

死记

main()

{

int a=100,x =10,y=20,okl=5,ok2=0;

if (x<y)

{

if(y ! =10)

{

if(!okl) a=1;

}

}

else if(ok2)

{

a=10;

}

a=-1:

printf( "%d\n",a ) }

这样看明白了吗

也就是说 不全前面怎么走 到了 a=-1: 的时候a的值都会变成-1

1 一条简单语句是以_____;___字符作为结束符的,一条复合语句是分别以___{_____字符和_____}___字符作为开始符和结束符的。

2 任何一个C++程序至少且只能包含一个_____主___函数,且程序总是从这个函数开始执行,不论这个函数的位置如何。一个函数定义由 函数头 和 函数体 两部分组成。

3 C++头文件和源程序文件的扩展名分别为 h 和 cpp。

4 cout与 *** 作符__<<_配合使用才能显示输出,cin与 *** 作符_>>_配合使用才能实现输入。

5 数据类型int,char,bool,float,double, int 等的类型长度分别为___4_、1_、_1_、_4、_8___和_____4___。

6 数值常量46、0173和0x62对应的十进制值分别为_____46___、____123____和______98__。

7 字符串”It\’s\40a\40C++programe!”中包含有______19____个字符。

8 若x=5,y=10,则计算y=++x表达式后,x和y的值分别为____6____和____60____。

9 若x=25,则计算y=x--表达式后,x和y的值分别为____24____和__25______。

10 假定x和ch分别为int型和char型,则sizeof(x)和sizeof(ch)的值分别为___4_____和_____1___。

11 假定x=64,y=88,则x<<2和y>>2的值分别为____128____和___44_____。

12 假定x是一个逻辑量,则x&&true的值与_____x___的值相同,x||false的值也与_____x___的值相同。

13 假定x是一个逻辑量,则x&&!x和x||!x的值分别为____0____和____1____。

14 假定x=10,则表达式x<=1020:30的值为____20____。

15 表达式sqrt(81)和pow(6,3)的值分别为________9______和_________216_____。

16 数学算式(1+x)sin48°和axbex+1对应的算术表达式分别为___(1+x)sin(48314159/180)_____和_____apow(x,b)exp(x+1)___。

17 逻辑表达式:a>=x||b>2y+10的相反式为:___~(a<=x&&2y+10)_____。

18 在嵌套的if语句中,每个else关键字与它前面最接近的____if____关键字相配套。

19 在for语句中,假定循环体被执行次数为n,则<表达式1>共被计算____n___次,<表达式2>共被计算____n____次,<表达式3>共被计算____n____次。

20 执行for和while循环时,每次是先进行____条件____的判断,然后再执行____循环___,执行do循环时则相反。

1 一条简单语句是以_____;___字符作为结束符的,一条复合语句是分别以___{_____字符和_____}___字符作为开始符和结束符的。

2 任何一个C++程序至少且只能包含一个_____主___函数,且程序总是从这个函数开始执行,不论这个函数的位置如何。一个函数定义由 函数头 和 函数体 两部分组成。

3 C++头文件和源程序文件的扩展名分别为 h 和 cpp。

4 cout与 *** 作符__<<_配合使用才能显示输出,cin与 *** 作符_>>_配合使用才能实现输入。

5 数据类型int,char,bool,float,double, int 等的类型长度分别为___4_、1_、_1_、_4、_8___和_____4___。

6 数值常量46、0173和0x62对应的十进制值分别为_____46___、____123____和______98__。

7 字符串”It\’s\40a\40C++programe!”中包含有______19____个字符。

8 若x=5,y=10,则计算y=++x表达式后,x和y的值分别为____6____和____60____。

9 若x=25,则计算y=x--表达式后,x和y的值分别为____24____和__25______。

10 假定x和ch分别为int型和char型,则sizeof(x)和sizeof(ch)的值分别为___4_____和_____1___。

11 假定x=64,y=88,则x<<2和y>>2的值分别为____128____和___44_____。

12 假定x是一个逻辑量,则x&&true的值与_____x___的值相同,x||false的值也与_____x___的值相同。

13 假定x是一个逻辑量,则x&&!x和x||!x的值分别为____0____和____1____。

14 假定x=10,则表达式x<=1020:30的值为____20____。

15 表达式sqrt(81)和pow(6,3)的值分别为________9______和_________216_____。

16 数学算式(1+x)sin48°和axbex+1对应的算术表达式分别为___(1+x)sin(48314159/180)_____和_____apow(x,b)exp(x+1)___。

17 逻辑表达式:a>=x||b>2y+10的相反式为:___~(a<=x&&2y+10)_____。

18 在嵌套的if语句中,每个else关键字与它前面最接近的____if____关键字相配套。

19 在for语句中,假定循环体被执行次数为n,则<表达式1>共被计算____n___次,<表达式2>共被计算____n____次,<表达式3>共被计算____n____次。

20 执行for和while循环时,每次是先进行____条件____的判断,然后再执行____循环___,执行do循环时则相反。

另外,站长团上有产品团购,便宜有保证

以上就是关于自考“C语言程序设计”模拟试题一全部的内容,包括:自考“C语言程序设计”模拟试题一、《C语言程序设计》练习题、c语言程序设计习题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10060329.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存