c语言模拟试题1(14)(1)

更新时间:2024-01-10 07:10:01 阅读量: 教育文库 文档下载

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

1以下语句中,不能实现回车换行的是(D)。

A、fprintf(stdout,\B、fwrite(\C、printf(\D、putchar(\

2下列字符序列中,是C语言保留字的是(B)。

A、include B、sizeof C、sqrt D、scanf

3以下程序的输出结果是C main()

{ char c1 = ?A?, c2 = ?Y?; printf(“%d,%d\\n”, c1, c2); }

A、65,90 B、A,Y C、65,89

D、因输出格式不合法,无正确输出

4若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句是B

A、a=a+b, b=a-b, a=a-b; B、a=t; t=b; b=a; C、t=a; a=b; b=t; D、t=b; b=a; a=t;

5下列运算符中优先级别最高的是A

A、! B、% C、-= D、&&

6运行以下程序后,输出的结果是A

main()

{ int k = -3; if(k <= 0)

printf(“****\\n”),

else printf(“&&&&\\n”); }

A、****

B、有语法错误不能通过编译 C、&&&&

D、****&&&&

7以下程序的执行结果是__A_____.

main()

{ int num = 0;

while( num <= 2 ) { num++; printf( \

A、1,2,3, B、1,2,3,4, C、1,2, D、0,1,2

8C语言中 while 和 do-while 循环的主要区别是(B)。

A、while的循环控制条件比 do-while的循环控制条件更严格 B、do-while 的循环体至少无条件执行一次 C、do-while 的循环体不能是复合语句 D、do-while 允许从外部转到循环体内

9有以下程序 A main()

{ int i;

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

{ case 1: printf(\ case 2: printf(\ default : printf(\ } }

执行后输出结果是

A、011122 B、120 C、012020 D、012

10当运行以下程序时输入三行,每行都是在第一列上开始, 代表Entre键。D

a b cdef

则程序的输出结果是 #include #define N 6 main()

{ char c[N]; int i = 0; for(i = 0; i < N; i++)

c[i] = getchar();

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

putchar(c[i]);

}

A、abcdef B、

C、

D、

11 若有说明int c;则while(c=getchar());是正确的C语句。T 12while和do…while循环不论什么条件下它们的结果都是相同的.F 13循环结构中的continue语句是使整个循环终止执行F

14int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列 的元素赋初值,其余元素值为0。T

15设有数组定义: char array [ ]=\则数组 array所占的空间为5.F 16若有定义和语句:

int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0; for(i=0;i<3;i++) sum+=a[i][2-i];则sum=21.T 17C语言的函数可以嵌套定义.F

18函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的实参个数是5.F 19进行宏定义时,宏名必须使用大写字母表示。F

20若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t没定义, 所以此宏定义是错误的。F

21若有以下定义,请写出以下程序段中输出语句执行后的结果。

(1)_____(2)_____(3)_____ int i = -200, j =2500;

printf(“(1) %d %d”, i, j);

printf(“(2) i = %d, j = %d\\n”, i, j);

printf(“(3) i = %d\\n j = %d\\n”, i, j);

(1)-200 2500 (2)i=-200,j=2500 (3) i=-200 j=2500

22若有以下说明和输入语句,要求给c1、c2输入字符A和B,给a1、a2输入7.29和101.298,从键盘正确输入数据的形式是_____。 char c1, c2; float a1, a2; scanf(“%f%f”, &a1, &a2);

scanf(“%c%c”, &c1, &c2);

7.29 101.298AB

23在C语言程序中,用关键字_____定义基本整型变量,用关键字_____定义单精度实型变量,用关键字_____定义双精度实型变量。 (1) int (2) float (3) double

24通常一个字节包含_____个二进制位。在一个字节中能存放的最大十进制整数是_____, 它的二进制数的形式是_____;最小十进制整数是_____,它的二进制形式是_____。 (1)8 (2)255 (3)1111 1111 (4) -128 (5) 1000 0000 25以下程序的执行结果是___9__。

main() {

int k=8; switch(k) {

case 9: k+=1; case 10: k+=1;

case 11: k+=1; break; default: k+=1; }

printf(\\n\);

}

26以下程序的输出结果是__-1___。

main()

{ int x=100, a=10, b=20, ok1=5, ok2=0;

if(a

printf(\\n\); }

27以下程序段的输出结果是__11___。 int i = 0, sum = 1; do

{ sum += i++; } while( i < 5);

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

28执行以下程序后的输出结果是_i = 5, j = 4, k = 6____。 main() {

int a, b, c, d, i, j, k;

a = 10; b = c = d = 5; i = j = k = 0;

for( ; a > b; ++b)

i++;

while( a > ++c )

j++;

do

k++;

while(a > d++);

printf(“i = %d, j = %d, k = %d\\n”, i, j, k); }

29以下findmax返回s中最大元素的下标,数组中元素的个数由t传入。请填空。

fndmax( int s[], int t) { int k, p;

for(p = 0, k = p; p < t; p++) if(s[p] > s[k] )

__k = p___ ; return_k____; }

30以下程序统计从终端输入的字母中每个大写字母的个数,num[0]中统计字母A的个数, 其它依次类推。用#号结束输入,请填空。

#include “stdio.h” #include “ctype.h” main()

{ int num[26] = {0}; i; char c; while( __(c = getchar())___ != ?#?) if( isupper(c) )

num[ __c – 'A' __] += 1;

for(i = 0; i < 26; i++) if(num[i])

printf(“%c : %d\\n”, i + ?A?, num[i]);

}

31--------------------------------------------------------------------- 请在打开的WORD的文档中,进行下列操作。完成操作后,请保存文档, 并关闭WORD。

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

1、设置标题文字\打印管理器\字体为\黑体\,字形为\加粗、倾斜\,字 号为\小三\,颜色为\蓝色\,对齐方式为\居中\,设置正文所有段 落字号为\小四\。

2、在页眉中插入页码格式为\……\,对齐方式为\居中\。

3、正文第1段\打印管理器……\设置首字下沉,行数为\行\。

4、正文第3段\打印队列有两种……出现在屏幕的底部。\设置边框为\方框\, 线型为\实线\,宽度为\磅\,底纹填充色为\绿色\。

5、第2段\使用Windows……并显示文件的状态。\设置分栏,栏数为\栏\, 栏间添加\分隔线\。

6、在任意地方插入任意一幅剪贴画,环绕方式为\紧密型\。

7、在表格的第3行的后面添加一行。

【字体】 黑体 【加粗】 True 【斜体】 True

【字号】 小三 或 15 【颜色】 蓝色【字号】 小四 或 12 【字号】 小四 或 12【字号】小四 或 12 【页眉内容】_ PAGE _

【下沉(悬挂)文字】 打【首字下沉(悬挂)行数】 2

【边框线型】1【边框线宽】 6.00 磅【底纹填充颜色(背景)】 【分栏数】2【分栏线】True【环绕方式】紧密型 【表格行数】 12【单元格总数】60

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

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

功能:求一批数中最大值和最小值的积。

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

#define N 30

#include \#include void bky();

int max_min(int a[],int n) {

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

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

main() {

int a[N],i,k; for(i=0;i

a[i]=random(51)+10; for(i=0;i

printf(\

if((i+1)%5==0) printf(\ }

k=max_min(a,N);

printf(\ bky(); }

void bky() {

FILE *IN,*OUT; int n;

int i[10]; int o;

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

printf(\ }

绿色

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

printf(\ }

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

fscanf(IN,\ }

o=max_min(i,10);

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

int i,max,min; max=min=a[0]; for(i=1;i

if(a[i]>max) max=a[i];

else if(a[i]

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

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

功能:求如下表达式:

1 1 1 S = 1 + -- + --- + ...... + -------

1+2 1+2+3 1+2+3+......+n

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

#include main() {

int n;

double fun();

printf(\ /**********ERROR**********/

print(\ printf(\}

/**********ERROR**********/

fun(int n) {

int i,j,t; double s; s=0;

/**********ERROR**********/

while(i=1;i<=n;i++); {

t=0;

for(j=1;j<=i;j++) t=t+j;

/**********ERROR**********/ =s+1/t;

} return s; }

【参考答案】 scanf(\

【参考答案】 double fun(int n) 【参考答案】 for(i=1;i<=n;i++) for(i=1;n>=i;i++) for(i=1;ii;i++)

【参考答案】 s+=1.0/t;

s=s+1.0/(float)t; s=1.0/(float)t+s; s=s+1.0/t; s=1.0/t+s;

s+=1.0/(float)t; s+=1.0/(double)t; s=s+1.0/(double)t; s=1.0/(double)t+s;

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

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

功能:判断m是否为素数,若是返回1,否则返回0。

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

/**********ERROR**********/ void fun( int n) {

int i,k=1; if(m<=1) k=0;

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

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

/**********ERROR**********/ return m; }

void main() {

int m,k=0;

for(m=1;m<100;m++) if(fun(m)==1) {

printf(\

if(k%5==0) printf(\ } }

【参考答案】 int fun( int m) fun( int m)

【参考答案】 for(i=2;ii;i++) for(i=2;i<=m-1;i++) for(i=2;m-1>=i;i++) 【参考答案】 if(m%i==0) k=0; if(0==m%i) k=0; 【参考答案】 return k;

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

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

功能:下面的程序是求1!+3!+5!+……+n!的和。

-------------------------------------------------------*/ #include main() {

long int f,s; int i,j,n;

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

scanf(\

/**********FILL**********/ for(i=1;i<=n; _____ ) {

f=1; /**********FILL**********/ for(j=1; _____;j++)

/**********FILL**********/ _____ s=s+f; }

printf(\}

【参考答案】 s=0

【参考答案】 i+=2 i=i+2 i=2+i

i++,i++

【参考答案】 j<=i i>=j jj j<1+i 1+i>j

【参考答案】

f=f*j f=j*f

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

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

功能:打印以下图形。

***** ***** ***** ***** *****

-------------------------------------------------------*/ #include main ( ) {

char a[5][9]={\ int i,j;

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

/**********FILL**********/ for(j=i; _____;j++) a[i][j]='*';

/**********FILL**********/ for(_____;i<5;i++) {

for(j=0;j<9;j++)

/**********FILL**********/ printf(\

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

【参考答案】 jj 5+i>j j<=i+4 j<=4+i i+4>=j 4+i>=j

【参考答案】 i=0

【参考答案】 a[i][j]

【参考答案】 printf(\

本文来源:https://www.bwwdw.com/article/38zo.html

Top