• 欢迎您访问自学考试网!  今天是

微信咨询:  815747759

距 2020年 考试报名还有

距 2020年 考试日期还有

自考系统:

各市自考:

自考《c语言程序设计》模拟试题(1)

2021-02-03 00:02:15 来源:自学考试网 点击:8 作者:小呗老师

自考《c语言程序设计》模拟试题(1)

为了帮助广大自考考生顺利通过公共管理学科目,桓学网整理《c语言程序设计》模拟试题(1),《c语言程序设计》作为自考本科课程中比较难的科目,考生们可以通过多刷题型,多做题来抓取考试重点,快来跟随小编一起看看吧。

自考《c语言程序设计》模拟试题(1)

一、选择题((1)-(40)题每小题1分,

(1)在32位计算机中,一个字长所占的字节数为______。

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

(2)与十进制511等值的十六进制数为______。

A) 1FF B) 2FF C) 1FE D) 2FE

(3)能将高级语言编写的源程序转换成目标程序的是______。

A) 编辑程序 B) 编译程序 C) 解释程序 D) 链接程序

(4)在计算机系统中,存储一个汉字的国标码所需要的字节数为______。

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

(5)下列带有通配符的文件名,能表示文件ABC.TXT的是______。

A) *BC.? B) A?.* C) ?BC.* D) ?.?

(6)在多媒体计算机系统中,不能用以存储多媒体信息的是______。

A) 光缆 B) 软盘 C) 硬盘 D) 光盘

(7)DOS命令“COPY/?”的功能是______。

A) 将当前盘当前目录中的所有文件复制到当前盘的根目录下

B) 将当前盘当前目录中所有以单个字符命名的文件复制到当前盘的根目录下

C) 以提示方式复制文件

D) 显示COPY命令的帮助信息

(8)在Windows环境下,若要将当前活动窗口存入剪贴板,则可以按______。

A) Ctrl+PrintScreen键

B) Shift+PrintScreen键

C) PrintScreen键

D) Alt+PrintScreen键

(9)在Windows环境下,单击当前应用程序窗口的“关闭”按钮,其功能是______。

A) 将当前应用程序转为后台运行

B) 退出Windows后再关机

C) 退出Windows后重新启动计算机

D) 终止当前应用程序的运行

(10)在Windows环境下,粘贴快捷键是______。

A) Ctrl+Z B) Ctrl+X C) Ctrl+C D) Ctrl+V

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

A) 构成C程序的基本单位是函数

B) 可以在一个函数中定义另一个函数

C) main()函数必须放在其它函数之前

D) 所有被调用的函数一定要在调用之前进行定义

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

A) 5E2.0 B) E-3 C) .2E0 D) 1.3E

(13)以下选项中合法的用户标识符是______。

A) long B) _2Test C) 3Dmax D) A.dat

(14)已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量’101’是______。

A) 字符A B) 字符a C) 字符e D) 非法的常量

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

A) n=(i=2,++i); B) j++; C) ++(i+1); D) x=j>0;

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

A) 6.500000 B) 6 C) 5.500000 D) 6.000000

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

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);

(18)与数学式子3乘以x的n次方/(2x-1)对应的C语言表达式是______。

A) 3*x^n/(2*x-1)

B) 3*x**n/(2*x-1)

C) 3*pow(x,n)*(1/(2*x-1))

D) 3*pow(n,x)/(2*x-1)

(19)设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是______。

A) printf( x=%d ,x);

B) printf( x=%ld ,x);

C) printf( x=%8dL ,x);

D) printf( x=%LD ,x);

(20)若有以下程序:

main()

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

m=(k+=i*=k); printf( %d,%d ,m,i);

}

执行后的输出结果是______。

A) 8,6 B) 8,3 C) 6,4 D) 7,4

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

A) 6 B) 0 C) 2 D) 1

(22)有一函数

1 x>0

y= 0 x=0

-1 x<0,

以下程序段中不能根据x的值正确计算出y的值的是______。

A) if(x>0) y=1;else if(x==0) y=0;else y=-1;

B) y=0;if(x>0) y=1;else if(x<0) y=-1;

C) y=0;if(x>=0)if(x>0) y=1;else y=-1;

D) if(x>=0) if(x>0) y=1;else y=0;else y=-1;

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

A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+1

(24)以下程序的功能是:按顺序读入10名学生4门课程的成绩,

计算出每位学生的平均分并输出,程序如下:

main()

{int n,k;

float score,sum,ave;

sum=0.0;

for(n=1;n<=10;n++)

{for(k=1;k<=4;k++)

{scanf( %f ,&score); sum+=score;}

ave=sum/4.0;

printf( NO%d:%f ,n,ave);

}

}

上述程序运行后结果不正确,调试中发现有一条语句

出现在程序的位置不正确。这条语句是______。

A) sum=0.0;

B) sum+=score;

C) ave=sum/4.0;

D) printf( NO%d:%f ,n,ave);

(25)有以下程序段

int n=0,p;

do {scanf( %d ,&p);n++;} while(p!=12345&&n<3);

此处do-while循环的结束条件是______。

A) p的值不等于12345并且n的值小于3

B) p的值等于12345并且n的值大于等于3

C) p的值不等于12345或者n的值小于3

D) p的值等于12345或者n的值大于等于3

(26)有以下程序

main()

{int a=15,b=21,m=0;

switch(a%3)

{case 0:m++;break;

case 1:m++;

switch(b%2)

{default:m++;

case 0:m++;break;

}

}

printf( %d ,m);

}

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

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

(27)C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是______。

A) void B) int C) float D) double

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

A) p=q; B) *p=*q; C) n=*q; D) p=n;

(29)有以下程序

float fun(int x,int y)

{return(x+y); }

main()

{int a=2,b=5,c=8;

printf( %3.0f ,fun((int)fun(a+c,b),a-c));

}

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

(30)有以下程序

void fun(char *c,int d)

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

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

}

main()

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

fun(&b,a); printf( %c,%c ,a,b);

}

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

A) B,a,B,a B) a,B,a,B C) A,b,A,b D) b,B,A,b

(31)以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序

void sort(int a[],int n)

{int i,j,t;

for(i=0;ifor(j=i+1;jif(a}

main()

{int aa[10]={1,2,3,4,5,6,7,8,9,10},i;

sort(&aa[3],5);

for(i=0;i<10;i++) printf( %d, ,aa);

printf( );

}

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

A) 1,2,3,4,5,6,7,8,9,10,

B) 10,9,8,7,6,5,4,3,2,1,

C) 1,2,3,8,7,6,5,4,9,10,

D) 1,2,10,9,8,7,6,5,4,3,

(32)有以下程序

int f(int n)

{if (n==1) return 1;

else return f(n-1)+1;

}

main()

{int i,j=0;

for(i=1;i<3;i++) j+=f(i);

printf( %d ,j);

}

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

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

(33)有以下程序

main()

{char a[]={’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’’}; int i,j;

i=sizeof(a); j=strlen(a);

printf( %d,%d ,i,j);

}

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

A) 9,9 B) 8,9 C) 1,8 D) 9,8

(34)以下程序中的函数reverse的功能是将a所指数组中的内容进行逆置。

void reverse(int a[],int n)

{int i,t;

for(i=0;i{t=a;a=a[n-1-i];a[n-1-i]=t;}

}

main()

{int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0;

reverse(b,8);

for(i=6;i<10;i++) s+=b;

printf( %d ,s);

}

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

A) 22 B) 10 C) 34 D) 30

(35)有以下程序

main()

{int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};

int i,s=0;

for(i=0;i<4;i++) s+=aa[1];

printf( %d ,s);

}

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

A) 11 B) 19 C) 13 D) 20

(36)有以下程序

#include

main()

{char *p= abcdefghjik ;

printf( %d ,strlen(p));

}

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

A) 12 B) 15 C) 6 D) 5

(37)程序中头文件type1.h的内容是:

#define N 5

#define M1 N*3

程序如下:

#include type1.h

#define M2 N*2

main()

{int i;

i=M1+M2; printf( %d ,i);

}

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

A) 10 B) 20 C) 25 D) 30

(38)有以下程序

#include

main()

{FILE *fp; int i=20,j=30,k,n;

fp=fopen( d1.dat , w );

fprintf(fp, %d ,i);fprintf(fp, %d ,j);

fclose(fp);

fp=fopen( d1.dat , r );

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

fclose(fp);

}

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

A) 20 30 B) 20 50 C) 30 50 D) 30 20

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

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

B) 在程序结束时,应当用fclose函数关闭已打开的文件

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

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

(40)有以下程序

#include

main(int argc,char *argv[])

{int i,len=0;

for(i=1;iprintf( %d ,len);

}

程序编译连接后生成的可执行文件是ex1.exe,

若运行时输入带参数的命令行是:

ex1 abcd efg 10<回车>

则运行的结果是______。

A) 22 B) 17 C) 12 D) 9

(41)有以下程序

int fa(int x)

{return x*x; }

int fb(int x)

{return x*x*x; }

int f(int (*f1)(),int (*f2)(),int x)

{return f2(x)-f1(x); }

main()

{int i;

i=f(fa,fb,2); printf( %d ,i);

}

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

A) -4 B) 1 C) 4 D) 8

(42)有以下程序

int a=3;

main()

{int s=0;

{int a=5; s+=a++; }

s+=a++; printf( %d ,s);

}

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

A) 8 B) 10 C) 7 D) 11

(43)有以下程序

void ss(char *s,char t)

{while(*s)

{if(*s==t) *s=t-’a’+’A’;

s++;

}

}

main()

{char str1[100]= abcddfefdbd ,c=’d’;

ss(str1,c); printf( %s ,str1);

}

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

A) ABCDDEFEDBD

B) abcDDfefDbD

C) abcAAfefAbA

D) Abcddfefdbd

(44)有以下程序

struct STU

{char num[10]; float score[3]; }

main()

{struct STU s[3]={{ 20021 ,90,95,85},

{ 20022 ,95,80,75},

{ 20023 ,100,95,90}},*p=s;

int i; float sum=0;

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

sum=sum+p->score;

printf( %6.2f ,sum);

}

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

A) 260.00 B) 270.00 C) 280.00 D) 285.00

(45)设有如下定义:

struct sk

{int a;

float b;

}data;

int *p;

若要使p指向data中的a域,正确的赋值语句是______。

A) p=&a; B) p=data.a; C) p=&data.a; D) *p=data.a

(46)有以下程序

#include

struct NODE

{int num; struct NODE *next; }

main()

{struct NODE *p,*q,*r;

p=(struct NODE *)malloc(sizeof(struct NODE));

q=(struct NODE *)malloc(sizeof(struct NODE));

r=(struct NODE *)malloc(sizeof(struct NODE));

p->num=10;q->num=20;r->num=30;

p->next=q;q->next=r;

printf( %d ,p->num+q->next->num);

}

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

A) 10 B) 20 C) 30 D) 40

(47)若有以下说明和定义

typedef int *INTEGER

INTEGER p,*q;

以下叙述正确的是______。

A) p是int型变量

B) p是基类型为int的指针变量

C) q是基类

型为int的指针变量

D) 程序中可用INTEGER代替int类型名

(48)有以下程序

main()

{unsigned char a,b,c;

a=0x3; b=a|0x8; c=b<<1;

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

}

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

A) -11 12 B) -6 -13 C) 12 24 D) 11 22

(49)有以下程序

#include

main()

{char *p,*q;

p=(char *)malloc(sizeof(char)*20); q=p;

scanf( %s%s ,p,q); printf( %s%s ,p,q);

}

若从键盘输入:abc def<回车>,则输出结果是______。

A) def def B) abc def C) abc d D) d d

(50)以下程序中函数f的功能是将n个字符串,按由大到小的顺序进行排序。

#include

void f(char p[][10],int n)

{ char t[20]; int i,j;

for(i=0;ifor (j=i+1;jif(strcmp(p,p[j])<0)

{ strcpy(t,p);strcpy(p,p[j]);strcpy(p[j],t);}

}

main()

{char p[][10]={ abc , aabdfg , abbd , dcdbe , cd };int i;

f(p,5); printf( %d ,strlen(p[0]));

}

程序运行后的输出结果是

A) 6 B) 4 C) 5 D) 3

获取方案 OR 点我咨询 点我咨询 - 点我咨询

上一篇:自考《应用文写作》模拟试题及答案(三)
下一篇:自考《c语言程序设计》模拟试题(4)