c语言模拟题目第二十套

更新时间:2024-01-31 22:41:01 阅读量: 教育文库 文档下载

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

第二十套

下列程序段的输出结果为()。

float x=213.82631; printf(\

A、213.82 B、213.83 C、213 D、3.8

【参考答案】 错误 C

【学生答案】 [未答此题]

a,b为整型变量,二者均不为0,以下关系表达式中恒成立的是()。

A、a/b*b+a%b==a B、a/b*b==a C、a*b/a*b==1 D、a/b*b/a==1

【参考答案】 错误 A

【学生答案】 [未答此题]

int a=1,b=2,c=3; if(a>b)a=b; if(a>c)a=c; 则a的值为()。

A、3 B、2 C、1 D、不一定

【参考答案】 错误 C

【学生答案】 [未答此题]

C语言的switch语句中case后( )。

A、可为任何量或表达式

B、可为常量或表达式或有确定值的变量及表达式 C、只能为常量或常量表达式 D、只能为常量

【参考答案】 错误 C

【学生答案】 [未答此题]

设j和k都是int类型,则下面的for循环语句( )。 for(j=0,k=0;j<=9&&k!=876;j++) scanf(\

A、最多执行9次 B、是无限循环

C、循环体一次也不执行 D、最多执行10次

【参考答案】 错误 D

【学生答案】 [未答此题]

以下程序中,while循环的循环次数是( ). main() {

int i=0; while(i<10) {

if(i<1) continue; if(i==5) break; i++; } }

A、1 B、6

C、死循环,不能确定次数 D、4

【参考答案】 错误 C

【学生答案】 [未答此题]

以下不能对二维数组a进行正确初始化的语句是()。

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

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

【参考答案】 错误 A

【学生答案】 [未答此题]

下面函数调用语句中,fun含有实参的个数为( ). fun((x,y),(x+y,z,x/y));

A、1 B、4 C、5 D、2

【参考答案】 错误 D

【学生答案】 [未答此题]

在\文件包含\的预处理中,被包含的文件应是( ).

A、源文件 B、可执行文件 C、目标文件 D、批处理文件

【参考答案】 错误 A

【学生答案】 [未答此题]

以下程序的输出结果是( ). #include void main( )

{int a[ ]={2,4,6,8},*p=a,i; for(i=0;i<4;i++) a[i ]=*p++; printf(\

A、2 B、6 C、8 D、4

【参考答案】 错误 B

【学生答案】 [未答此题]

printf 函数的一般格式为:printf (格式控制,输出表列).

【学生答案】 错误 未答此题

============================================================ 【参考答案】 正确

若 a=3,b=2,c=1 则关系表达式\的值为\真\。

【学生答案】 错误 未答此题

============================================================ 【参考答案】 正确

语句if(a>b) printf(\可以用条件表达式a>b?a:b取代.

【学生答案】 错误 未答此题

============================================================ 【参考答案】 错误

若有说明int c;则while(c=getchar());没有语法错误。

【学生答案】 错误 未答此题

============================================================ 【参考答案】 正确

C语言中三种基本结构:顺序、选择、循环,其结构内的每个部分都会被执行到..

【学生答案】 错误 未答此题

============================================================ 【参考答案】 错误

数值型数组整体不参加数据处理(即不参加各种运算),参加数据处理的只能是数组的元素.

【学生答案】 错误 未答此题

============================================================ 【参考答案】 正确

没有初始化的数值型静态局部变量的初值是不确定的值.

【学生答案】 错误 未答此题

============================================================ 【参考答案】 错误

一个include 命令可以指定多个被包含的文件。

【学生答案】 错误 未答此题

============================================================ 【参考答案】 错误

定义 int a[ ]={1,2,3,4},y,*p=&a[1];,则执行y=(*--p)++后,y的值是2.

【学生答案】 错误 未答此题

============================================================ 【参考答案】 错误

共用体变量使用过程中,可在同一内存段中存放几种不同类型的成员.

【学生答案】 错误 未答此题

============================================================ 【参考答案】 正确

若x和n均是int型变量,且x和n的初值均为5,则计算表达式 x+=n++ 后x的值为 _____,n的值为_____.

【空 1】 错误 【学生答案】 [无]

【参考答案】 10

============================================================ 【空 2】 错误 【学生答案】 [无]

【参考答案】 6

============================================================

当a=3,b=2,c=1;时,执行以下程序段后 b=_____. if(a>b) a=b; if(b>c) b=c; else c=b; c=a;

【空 1】 错误 【学生答案】 [无]

【参考答案】 1

============================================================

设i,j,k均为int型变量,则执行完下面的for循环后,k的值为_____. for(i=0,j=10;i<=j;i++,j--) k=i+j;

【空 1】 错误 【学生答案】 [无]

【参考答案】 10

============================================================

C语言中,二维数组在内存中的存放方式为按_____优先存放.

【空 1】 错误 【学生答案】 [无]

【参考答案】 行

============================================================

设有以下共用体类型说明和变量定义,则变量d在内存所占字节数是 _____。 union stud { short int num; char name[8];float score[3]; double ave; } d,stu[3];

【空 1】 错误 【学生答案】 [无]

【参考答案】 12

============================================================

/*------------------------------------------------ 【程序设计】

-------------------------------------------------- 功能:求n阶方阵主、副对角线上的元素之积。

注意:

请在Begin 和 End 注释行之间填写代码, 所有注释语句都不能删除。

------------------------------------------------*/

#define N 4

#include \#include \

float mul(int arr[][N]) {

/*********Begin**********/

/********** End **********/ }

void main() {

int a[N][N],i,j; void TestFunc(); for(i=0;i

for(j=0;j

printf(\ printf(\ }

printf(\ TestFunc(); }

void TestFunc() {

FILE *IN,*OUT; int m,n; int i[4][4]; float o;

IN=fopen(\ if(IN==NULL) {

printf(\ }

OUT=fopen(\ if(OUT==NULL) {

printf(\ }

for(m=0;m<100;m++) for(n=0;n<100;n++) {

fscanf(IN,\ }

o=mul(i);

fprintf(OUT,\ fclose(IN); fclose(OUT); }

【参考代码】 int i,j; float t=1; for(i=0;i

===============

【考生代码】

/*------------------------------------------------------ 【程序改错】

--------------------------------------------------------

功能:为一维数组输入10个整数;将其中最小的数与第一个数 对换,将最大的数与最后一个数对换,输出数组元素。 -------------------------------------------------------- 注意:不可以增加或删除程序行,也不可以更改程序的结构。 ------------------------------------------------------*/ #include \void main ( ) {

int a[10]; void input(); void output(); void max_min(); input(a,10); max_min(a,10); output(a,10); }

void input(int arr[],int n) {

int i;

printf(\ for(i=0;i

/**********ERROR**********/ scanf(\}

void max_min(int arr[],int n) {

int max,min,t,i; min=max=0;

for(i=1;i

/**********ERROR**********/ if(arr[i]

else if(arr[i]

arr[n-1]=arr[max]; arr[max]=t; }

void output(int arr[],int n) {

int i;

printf(\ /**********ERROR**********/ while(i=0;i

printf(\ printf(\}

【改错1】 正确 【学生答案】 scanf(\

【参考答案】 scanf(\

============================================================

【改错2】 错误 【学生答案】 if(arr[i]

【参考答案】 if(arr[i]>arr[max]) if(arr[max]

============================================================

【改错3】 错误 【学生答案】 if(max=0) max=min;

【参考答案】 if(max==0) if(0==max)

============================================================

【改错4】 错误

【学生答案】 while(i=0;i

【参考答案】 for(i=0;ii;i++) for(i=0;i<=n-1;i++) for(i=0;n-1>=i;i++)

============================================================

/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:以下程序的功能如(图1)。

--------------------------------------------------------- 请在程序的下划线处填入正确的内容,并把下划线删除,使程序得 出正确的结果。

注意:不得增行或删行,也不得更改程序的结构!

-------------------------------------------------------*/ #include \

/***********FILL***********/ double f(_____) {

/***********FILL***********/ _____;

/***********FILL***********/ if (_____)

y=2.0*x*x+3.0*x+4.0; else

y=-2.0*x*x+3.0*x-4.0; /***********FILL***********/ _____;

}

void main ( ) {

printf(\}

【空1】 错误 【学生答案】 double f(_____)

【参考答案】 float x double x

============================================================

【空2】 错误 【学生答案】 _____;

【参考答案】 double y float y

============================================================

【空3】 错误 【学生答案】 if (_____)

【参考答案】 x<=2 2>=x

============================================================

【空4】 错误 【学生答案】 _____;

【参考答案】 return y return (y)

============================================================

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

A、2.0 B、2.5 C、1 D、2

【参考答案】 错误 A

【学生答案】 [未答此题]

执行下面程序中的输出语句后,输出的值是:( ),

main(){int a=5; printf(\

A、20 B、65 C、10 D、15

【参考答案】 错误 A

【学生答案】 [未答此题]

以下不正确的if语句形式是()。

A、if(x

B、if(x!=y) scanf(\C、if(x>y&&x!=y); D、if(x==y) x+=y;

【参考答案】 错误 B

【学生答案】 [未答此题]

执行下面程序段后,s的值是( )。 int s=5; switch(++s) {case 6:

case 7:s+=2; case 8: case 9:s+=2; }

A、8 B、7 C、10 D、6

【参考答案】 错误 C

【学生答案】 [未答此题]

下面程序段运行的结果是( ). x=-1; do{

x=x*x;

}while (!x);

A、循环执行一次 B、有语法错误 C、死循环 D、循环执行两次

【参考答案】 错误 A

【学生答案】 [未答此题]

程序main( ){char s[10]; s=\的运行结果(以下U代表空格)是( ).

A、输出abcd B、输出abcdUUUUU C、编译不通过 D、输出a

【参考答案】 错误 C

【学生答案】 [未答此题]

函数的形式参数系统默认存储类型说明是()。

A、static B、extern C、register

D、auto

【参考答案】 错误 D

【学生答案】 [未答此题]

若file1中包含file2,file2中要用到file3,若file2中不用 #include \则在file1.c中应进 行如下定义( ).

A、#include \和 #include \B、#include \C、#include \

D、#include \和 #include \

【参考答案】 错误 D

【学生答案】 [未答此题]

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

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

【参考答案】 错误 C

【学生答案】 [未答此题]

for循环的三个表达式中间用逗号相分隔.

【学生答案】 错误 未答此题

============================================================ 【参考答案】 错误

在C程序中,逗号运算符的优先级最低

【学生答案】 错误 未答此题

============================================================ 【参考答案】 正确

设i=1,j=2,k=3,则逻辑表达式!(i>j)||!k&&1的值为0.

【学生答案】 错误 未答此题

============================================================ 【参考答案】 错误

for循环的三个表达式都可以省略.

【学生答案】 错误 未答此题

============================================================ 【参考答案】 正确

do-while循环的while后的分号不可以省略.

【学生答案】 错误 未答此题

============================================================ 【参考答案】 正确

若定义 int array[5] , *p; 则赋值语句 p=array;是正确的.

【学生答案】 错误 未答此题

============================================================ 【参考答案】 正确

函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的实参个数是5.

【学生答案】 错误 未答此题

============================================================ 【参考答案】 错误

用一个#include命令可以同时指定数个被包含文件.

【学生答案】 错误 未答此题

============================================================ 【参考答案】 错误

下列的语句是正确的:int **p;

【学生答案】 错误 未答此题

============================================================ 【参考答案】 正确

两个类型相同的结构体变量,可以互相赋值.

【学生答案】 错误 未答此题

============================================================ 【参考答案】 正确

已知:int i=8,j=10,m,n;m=++i;n=j++;问语句执行后m=_____,n=_____。

【空 1】 错误 【学生答案】 [无]

【参考答案】 9

============================================================ 【空 2】 错误 【学生答案】 [无]

【参考答案】 10

============================================================

当a=1,b=2,c=3时,执行以下程序段后b=_____. if (a>c) b=a; a=c; c=b;

【空 1】 错误 【学生答案】 [无]

【参考答案】 2

============================================================

以下程序的输出结果为_____, #include \void main()

{int a;for(a=0;a<10;a++);printf(\

【空 1】 错误

【学生答案】 [无]

【参考答案】 10

============================================================

复制字符串的库函数是_____,只写函数名即可.

【空 1】 错误 【学生答案】 [无]

【参考答案】 strcpy

============================================================

将file_point定义为文件指针的语句为_____,写出应包含的头文件语句_____。

【空 1】 错误 【学生答案】 [无]

【参考答案】 FILE *file_point; FILE *file_point

============================================================ 【空 2】 错误 【学生答案】 [无]

【参考答案】 #include #include \

============================================================

/*------------------------------------------------ 【程序设计】

--------------------------------------------------

功能:从键盘输入一个大于3的整数,调用函数fun判断 其是否素数,然后在main函数中输出相应的结论

信息。

例如:7是素数,8不是素数。请编写fun函数。素数是 仅能被1和自身整除的数。

注意:

请在Begin 和 End 注释行之间填写代码, 所有注释语句都不能删除。 如果是素数返回1,否则返回0

-------------------------------------------------*/

#include \#include \int fun(int n) {

/*********Begin**********/

/********** End **********/ }

void main() {

void TestFunc(); int m,flag;

printf(\ scanf(\ flag=fun(m); if(flag)

printf(\ else

printf(\ TestFunc(); }

void TestFunc() {

FILE *IN,*OUT; int iIN,iOUT,i;

IN=fopen(\

if(IN==NULL) {

printf(\ }

OUT=fopen(\ if(OUT==NULL) {

printf(\ }

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

fscanf(IN,\ iOUT=fun(iIN);

fprintf(OUT,\ }

fclose(IN); fclose(OUT); }

【参考代码】 int i; int j; j= 1;

for(i=2;i

int i,k,flag; k=sqrt(n); for(i=2;i<=k;i++) if(n%i==0) break; if(i>k)flag=1; else flag=0;

===============

【考生代码】

/*------------------------------------------------------ 【程序改错】

--------------------------------------------------------

功能:找出大于m的最小素数,并将其作为函数值返回。

-------------------------------------------------------- 注意:不可以增加或删除程序行,也不可以更改程序的结构。 ------------------------------------------------------*/ #include \#include \int fun( int m) {

int i,k;

for(i=m+1;;i++) {

/**********ERROR**********/ for(k=1;k

/**********ERROR**********/ if(i%k!=0) break;

/**********ERROR**********/ if(k

/**********ERROR**********/ return k; } }

void main() {

int n;

scanf(\

printf(\}

【改错1】 错误 【学生答案】 for(k=1;k

【参考答案】 for(k=2;kk;k++) for(k=2;k<=i-1;k++) for(k=2;kk;k++)

for(k=2;k<=sqrt(i);k++) for(k=2;sqrt(i)>=k;k++)

============================================================

【改错2】 错误 【学生答案】 if(i%k!=0) break;

【参考答案】 if(i%k==0) break; if(!(i%k)) break;

============================================================

【改错3】 错误 【学生答案】 if(k

【参考答案】 if(i<=k) if(k>=i) if(k==i) if(k>=i/2) if(k=i/2) if(k>sqrt(i))

============================================================

【改错4】 错误 【学生答案】 return k;

【参考答案】 return i; return (i);

============================================================

/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:将一个字符串中下标为m的字符开始的全部字符复制成为另 一个字符串。

--------------------------------------------------------- 请在程序的下划线处填入正确的内容,并把下划线删除,使程序得 出正确的结果。

注意:不得增行或删行,也不得更改程序的结构!

-------------------------------------------------------*/ #include \

void strcopy(char *str1,char *str2,int m) {

char *p1,*p2;

/***********FILL***********/ _____; p2=str2; while(*p1)

/***********FILL***********/ _____;

/***********FILL***********/ _____; }

main() {

int i,m;

char str1[80],str2[80]; gets(str1); scanf(\

/***********FILL***********/ _____;

puts(str1);puts(str2); }

【空1】 错误 【学生答案】 _____;

【参考答案】 p1=str1+m

============================================================

【空2】 错误 【学生答案】 _____;

【参考答案】 *p2++=*p1++ *(p2++)=*(p1++) *p2=*p1,p2++,p1++ *p2=*p1++,p2++ *p2++=*p1,p1++

============================================================

【空3】 错误 【学生答案】 _____;

【参考答案】 *p2='\\0' *p2=0 *p2=NULL

============================================================

【空4】 错误 【学生答案】 _____;

【参考答案】

strcopy(str1,str2,m)

============================================================

本文来源:https://www.bwwdw.com/article/1qhw.html

Top