您好,欢迎来到尚车旅游网。
搜索
您的当前位置:首页福建C语言二级考试模拟考试题之二

福建C语言二级考试模拟考试题之二

来源:尚车旅游网
 WORD格式整理

福建省C语言二级考试模拟试卷之二

一、选择题。 (本大题共40个选项,【1】~【40】每个选择项1.5分,共60分)

1.属于整型常量的是【1】。 【1】

(A)12

(B)12.0 (D)10E10

(C)-12.0

2.char型常量在内存中存放的是【2】。 【2】

(A)ASCII代码值 (C)内码值

(B)BCD代码值 (D)十进制代码值

3.设整型变量a为5,使b不为2的表达式是【3】。 【3】

(A)b=a/2 (C)b=a%2

(B)b=6-(--a) (D)b=a>3?2:1

4.执行语句“x=(a=3,b=a--);”后,x、a、b的值依次为【4】。 【4】

(A)3,3,2 (C)3,2,3

(B)3,2,2 (D)2,3,2

5.sizeof(double)的结果值是【5】。 【5】

(A)8 (C)2

(B)4 (D)出错

6.设整型变量x的值为35,则表达式“(x&15)&&(x|15)”的值是【6】。 【6】

(A)0 (C)15

(B)1

(D)35

7.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是【7】。 【7】

(A)0 (C)-4

(D)2

(B)4

8.设f为实型变量,下列表达式中不是逗号表达式的是【8】。 【8】

(A)f=3,4,5

(B)f=(3,2,1,0)

专业知识分享

WORD格式整理

(C)f>=3,f<2,0 (D)f=2,f=1

9.设有无符号短整型变量i、j、k,i值为013,j值为0x13。执行语句“k=~i|j>>3;”

后,k的值是【9】。 【9】

(A)06 (C)066

(B)0177776 (D)0177766

10.指出下列语句中有实际意义的语句是【10】。 【10】

(A)a||b; (C)a+=b;

(B)a!=b; (D)getchar(a);

11.在16位PC机上执行下列语句后,a的16进制值是【11】,b的值是【12】,c的值是【13】,d的值是【14】。 int a,b,c; long d; b=(a=32767,a+1); c=d=0xffff; 【11】 【12】 【13】 【14】

(A)0xffff (C)0xfffe (A)32767 (C)0

(B)0x7fff (D)0x7ffe (B)32768

(D)-32768

(B)32768

(D)-1

(B)32768

(D)-1

(A)65535 (C)0

(A)65535 (C)0

12.指出下面正确的输入语句是 【15】 。 【15】

(A)scanf(\"a=b=%d\

(B)

scanf(\"a=%d,b=%f\

(C)scanf(\"%3c\

(D)

scanf(\"%5.2f\

13.C语言用 【16】 表达逻辑“真”值。

专业知识分享

WORD格式整理

【16】

(A)true (C)非零整型值

(B)t或y

(D)整型值0

14.下列循环结构中,【17】不是无限循环。 【17】 (A)for(i=1,s=0;;i++)

s=s+i;

(C)i=0;

do { ++i; }while(i>=0);

15.执行下列程序段后,x的值是【18】, int i,x; for(i=1,x=1;i<=20;i++) { if(x>=10) break; if(x%2==1) { x+=5; continue; } x-=3; } 【18】 (A)6 (C)10 【19】 (A)4

(C)6

16.下列程序: #include #define N 6 main()

专业知识分享 (B)i=10; while(1) {

i=i%10+1; if(i>10) break;

} (D)i=100;

while(i++%2+i%2) i++; 的值是【19】。

(B)7

(D)14

(B)5

(D)7

i WORD格式整理

{ char s[N]; int i=0; for(;i运行时输入以下三行字符,每行输入都是在该行的首列开始: a b cdef

程序输出的结果是【20】。 【20】 (A)

abcdef

(B)

a

(D)

a

b c d e f

17.下列程序正确的运行结果为【21】。 struct s { int n; int *m; } *p; int d[5]={10,20,30,40,50}; struct s arr[5]= { 100,&d[0], 200,&d[1], 300,&d[2], 400,&d[3], 500,&d[4] }; #include main() { p=arr; printf(\"%d\\n\ printf(\"%d\\n\ printf(\"%d\\n\ }

专业知识分享

a

b

cd

(C)

b cdef

WORD格式整理

【21】 20 30

(A) (B)

200 21 (C) (D)

101 101 200 100

101 101 21 10

18.设有以下一程序段: char s[]=\"Hello\"; char *p; p=s;

执行完上面的程序段后,*(p+5)的值为【22】。 【22】

(A)'o'

(B)'\\0'

(D)

(C)'o'的地址

不确定的值

19.以下程序输出两个整数中较大的数,两个整数由键盘输入。请根据需填空的项目顺序从对应的选择

项顺序组中选择正确内容填入程序的横线内,使其能完成这一操作。 #include main() { int a,b,*p1,*p2; p1=(int *)malloc(sizeof(int)); p2=【23】malloc(sizeof(int)); scanf(\"%d%d\【24】); if(*p2>*p1) *p1=*p2; printf(\"max=%d\\n\【25】); free(p1); free(p2); } 【23】

(A)int

(B)int* (D)(int *)

(C)(int)

专业知识分享

WORD格式整理

【24】 p1,p2 &a,&b 【25】

(A)*p1,*p2 (B)

(C)&p1,&p2 (D)

(A)*p1 (C)p1

(B)*p2 (D)p2

20.以下定义与 【26】 中的定义等价。 int *p[4]; 【26】 int *p

(C)int *(p[4])

(D)int

(A)int p[4]

(B)

(*p)[4]

21.若有以下定义和语句,则 【27】 是对a数组元素的错误引用。 int a[12]={0},*p[3],**pp,i; for (i=0;i<3;i++) p[i]=&a[i*4]; pp=p; 【27】

(A)a[12] (C)a[10]

(B)p[2][3] (D)pp[0][1]

22.以下函数调用语句中有 【28】 个实参。 func((a1,a2,a3),(a4,a5)); 【28】 5

(C)1

(D)

(A)2

(B)

不合法

23.#include main() { int a,b,c; a=165,b=65; c=mult(a,b); printf(\"%d*%d=%d\\n\ } mult(x,y) int x,y;

专业知识分享

WORD格式整理

{ return(x*y); }

程序运行结果是:【29】,函数调用采用【30】传递数据。 【29】

(A)0

165*65=10725

(C)165*65=0

确 【30】 (A)地址传送方式

(C)全局变量

24.#include

main() { int f(),(*i)(); int a=100,b=500; int c; i=f; c=(*i)(b,a); printf(\"%d-%d=%d\\n\ } f(a,b) int a,b; { return (b-a); }

程序运行结果是:【31】。 【31】 (A)500-100=400

(C)500-100=0

25.#define PI 3.1415926 #include main() { printf(\"PI=%f\\n\ }

程序运行结果为【32】。 【32】

(A)3.141593=3.141593

专业知识分享

(B)

(D)程序不正

(B)数据复制方式

(D)内部变量

(B)500-100=-400

(D)程序有错

(B)PI=3.141593

WORD格式整理

(C)3.131593=PI (D)程序有错误,无结果。

26.格式1 #include \"文件名\" 格式2 #include <文件名> 下面4个结论,【33】是正确的。 【33】

(A)格式1中的文件名能带路径,而格式2不能 (B)格式1中的文件名不能带路径,而格式2可以 (C)如果被包含文件在当前目录下,两种格式都能用

(D)如果文件名中不带路径,格式1能搜索当前目录和C编译环境

指定的标准目录,而格式2不行。 27.使用分别编译方法时,在不同的编译单位之间能传递的变量和函数是【34】。 【34】

(A)内部变量,内部函数

(B)外部static型变量,外部函数 (C)外部缺省存储类型变量,外部函数 (D)所有变量和函数

28.设有一结构体类型变量定义如下: struct date { int year; int month; int day; } struct worklist { char name[20]; char sex; struct date birthday; } person;

若要对结构体变量person的出生年份进行赋值时,下面正确的赋值语句是:【35】。 【35】

(A)year=1976

(B)

birthday.year=1976

(C)person.birthday.year=1976

(D)person.year=1976

29.设有一联合体变量定义如下:

专业知识分享

WORD格式整理

union data { long w; float x; int y; char z; }; union data beta;

执行下面赋值语句后,正确的联合体变量beta的值是【36】。 beta.w=123456; beta.y=888; beta.x=3.1416; beta.z='*'; 【36】

(A)123456 (C)3.1416

(B)888 (D)'*'

30.整数字输出函数putw(32767,fpoint)的功能是:【37】。 【37】

(A)读取fpoint指针所指文件中的整数字32767。 (B)将两字节整数32767,输出到文件fpoint中。 (C)将两字节整数32767输出到fpoint所指的文件中。 (D)从文件fpoint中读取整数字32767。

31.以读写方式打开一个已有的文本文件file1,下面fopen函数正确的调用方式是:【38】。 【38】 fp

(A)FILE *fp

(D)FILE *

(B)FILE *

fp=fopen(\"file1\ fp=fopen(\"file1\

(C)FILE *fp

fp fp=fopen(\"file1\ fp=fopen(\"file1\32.下列程序的运行结果为【39】。 #include union p {

int i; char c[2];

专业知识分享

WORD格式整理

} x; main() {

x.c[0]=13; x.c[1]=0;

printf(\"%d\\n\} 【39】

(A)208 (C)13

(B)14 (D)209

33.运行下面程序后的w值为【40】。 main() { int w=2,k; for(k=0;k<3;k++) { w=f(w); printf(\"%d\\n\ } } f(x) int x; {

int y=0; static z=3; y++; z++;

return(x+y+z); } 【40】

(A)20 (C)28

(B)7 (D)13

二、请正确填充下面的过程或程序的划线部分,使其完成所要求的功能: (本大题共20个空,每个空2分,共40分。请将答案写在答题卡对应栏中,答在试卷上不得分)

一、完成下面的程序,使它能够输出101~1000之间的所有素数。 #include main() { int i;

专业知识分享

WORD格式整理

for(i=101;i<=1000;i++) if(isprime(【1】 printf(\"%d\ printf(\"\\n\"); }

#include <【2】 isprime(n) int n; {

int i;

for(i=2;i<=sqrt(n);i++)

if(【3】) return ( 0 ); ); > )) return( 【4】}

#include #include double s(fun,a,b) double (*fun)(),a,b; {

double t,h; int i,n=100; t=0.5*( 【5】 (b)); h=(b-a)/(double)(n); for(i=1;i<=n-1;i++)

t=t+ 【7】 ; ; (a)+ 【6】

t=t* 【8】 专业知识分享

WORD格式整理

return ( 【9】}

double f(x) double x; {

return (x*x+sin(x)+2.0); }

main() {

double y,(*fx)(); fx= 【10】 ); ; y=s(fx,0.0,4.0); printf(\"%f\\n\}

三、以下程序能从所读入的若干字符串中,找出最大的一个串并输出该串(用串****作为结束输入的标志)。 #include #include main() { char ss[10][5],*ps; int n; readin(ss,&n); findmax(ss,n,&ps); printf(\"max=%s\\n\ } readin(a,num) char (*a)[5];

int 【11】 ; {

int i=0; gets(a[i]);

while(!strcmp(a[i],\"****\")==0){ 【12】

;gets(a[i]);}

【13】}

findmax(a,num,max) char (*a)[5], 【14】 =i; ; 专业知识分享

WORD格式整理

int num; {

int i;

for(*max=a[0],i=1;i0)

【15】 ; }

四、设有一描述零件加工的数据结构如下:

零件名pname 工序号wnum 指针next 下面程序完成建立10道工序的链表,请将程序补充完整。 #include #include #define NULL 0 #define LEN sizeof(struct parts) struct parts { char pname[10]; int wnum;

【16】}

main() {

struct parts *head,*p; int i;

head=NULL;

for(i=0;i<10;i++) {

p= 【17】 ; ; scanf(\"%s,%d\ p->next=head; head=p; } }

五、下面程序完成从磁盘文件stu.DAT中读取n个学生的姓名、学号、成绩后在屏幕上显示输出。 #include #define N 100 struct student

专业知识分享

WORD格式整理

{

char name[20]; int no; int score; } stud[N]; main() {

FILE *fp; int i;

if ( 【18】 printf(\"Cannot open file\\n\"); for(i=0;i【19】 ; ) printf(\"name:%sNo:%d,stud[i].name,stud[i].No,stud[i].score); }

【20】}

提交试卷重新作答 ;

专业知识分享

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sceh.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务