百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

C语言程序设计F卷

haoteby 2025-02-26 12:14 21 浏览

一、选择题(15小题,每小题2分,共计30分)

1.下面不正确的字符串常量是 A

A)'abc' B)"12'12" C)"0" D)" "

2.以下正确的叙述是 D

A)在C程序中,每行中只能写一条语句

B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数

C)在C程序中,无论是整数还是实数,都能被准确无误(精确)地表示

D)在C程序中,%是只能用于整数运算的运算符

3.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'十'6'一'3';后,c2中的值为 A

A)D B)68 C)不确定的值 D)C

4.sizeof(float)是 B :

A)一个双精度型表达式 B)一个整型表达式

C)一种函数调用 D)一个不合法的表达式

5.以下说法正确的是 D

A)输入项可以为一实型常量,如scanf("%f",3.5);

B)只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");

C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f);

D)当输入数据时,必须指明变量的地址,如scanf("%f",&f);

6.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是 D (注:表示回车)。

int a1,a2; char c1,c2;

scanf("%d%d",&a1,&a2); scanf("%c%c",&c1,&c2);

A) 1020AB          B)10 20AB

C)10 20 AB        D)10 20AB

7.请阅读以下程序:

void main()

{int a=5,b=0,c=0;

if(a=b+c) printf("***\n");

e1se printf("$$$\n");

以上程序 D :

A)有语法错不能通过编译 B)可以通过编译但不能通过连接

C)输出*** D)输出$$$

8.下面程序段的运行结果是 C

x=y=0;

while(x<15) {y++;x+=++y;}

printf("%d,%d",x,y);

A)20,7 B)6,12 C)20,8 D)8,20

9.若有说明:int a[3]={0};则下面正确的叙述是 D   

A) 只有元素a[0]可得到初值0

B) 此说明语句不正确

C) 数组a中各元素都可得到初值,但其值不一定为0

D) 数组a中每个元素均可得到初值0

10.在c语言中,引用数组元素时,其数组下标的数据类型允许是_ C _。

A)整型常量 B)整型表达式

C)整型常量或整型表达式 D)任何类型的表达式

11.下面程序段的运行结果是 _ B _。

char c[5]={'a','b','\0','c','\0'};

printf("%s",c);}

A)’a’’b’ B)ab C)ab c D)a b

12.以下叙述正确的是  C   

A) 在C程序中,main函数必须位于程序的最前面

B) C程序的每行中只能写一条语句

C) C语言本身没有输入输出语句

D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误

13.简单变量做实参时,实参与其对应的形参之间的数据传递方式是  C   

A)双向值传递方式 B)地址传递方式

C)单向值传递方式 D)用户指定传递方式

14.编辑程序的功能是  A   

A)修改并建立源程序 B)将源程序翻译成目标程序

C)调试程序 D)命令计算机执行指定的程序

15.在C语言中,5种基本数据类型的存储空间长度排列顺序为 C  

A)char

C)char



二、计算表达式(每小题1.5分,共计15分):

设 int x=25,y=-20;float a=102.56,b=50.87;(注意:各式结果不影响后续的题目!)


1.(++y)+(x--) ( 6 )

2.y*=y+=25 ( 25 )

3.x+y>=0?(x-2*y):(x+2*y) ( 65 )

4.(x+y)/2+(int)(a-b)%(int)b ( 3 )

5.x/2+(a-b)/2 ( 37.845 )

6.!(x=a)&&(y=b)&&1 ( 0 )

7.!(a+b-1)||y+x/2 ( 1 )

8.计算(y>=0)&&(++y)后y的值为: ( -20 )

9.printf(“%d”,’\102’);结果为 ( 66 )

10.已知’a’的ASCII码为97,则:printf(“%c”,’\x64’);结果为( d )



三、写出下列程序的的执行结果(每小题5分,共计20分,注意输出格式)

1.#include

Int main()

{ int a=23389,b=45;float x=647.3586,y=13643.5538;

char c1=’A’,c2[]="Hello";

printf("a=%4d,b=%4d\n",a,b);

printf("%-9.2f,%9.2f\n",x,y);

printf("%o,%x,%u\n",b,b,b);

printf("%d,%c\n",c1,c1);

printf("%s,%6.4s\n",c2,c2);

return 0;

}


a

=

2

3

3

8

9

,

b

=



4

5








6

4

7

.

3

6




,


1

3

6

4

3

.

5

5



5

5

,

2

d

,

4

5














6

5

,

A


















H

e

l

l

o

,



H

e

l

l











2.#include

#define N 10

int main( )

{ int a=1,b=0, i;

for (i=0; i

{ printf("%6d%6d",a,b);

printf("\n");

a=b+a;

b=a+b;}

return 0;}







1






0














1






1














2






3














5






8













1

3





2

1










3.#include

int main()

{ int i,j,k=0;

for(i=1;i<31;i++)

{ for(j=2;j<=i-1;j++)

if(i%j==0) break;

if(j==i)

{ printf("%7d",i) ;

k++;

if(k%2==0) printf("\n");

}

}

Return 0;

}







2







3











5







7










1

1






1

3










1

7






1

9










2

3






2

9












4.#include

int main()

{ int i=16,j,x=6,y,z;static char c[]=”I am a student”;

j=i+++1; printf(“%5d\n”,j);

x*=i=j; printf(“%5d\n”,x);

x=1,y=2,z=3;

x+=y+=z;

printf(“%5d\n”,(z+=x)>y? z++:y++);

x=y=z=-1;

++x||++y||z++;

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

printf(“%s,%5.4s\n”,c,c);

return 0;

}





1

7


















1

0

2




















9




















0





0





0




I


a

m


a


s

t

u

d

e

n

t

,


I


a

m








四、程序填空(每空1.5分,共计15分)

1.下面程序的功能是:将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。

#include

main()

{ char s1[80], s2[80];

int i;

printf("input s2:");

gets(s2);

for(i=0;s2[i]!=’\0’; i++ )

s1[i]=s2[i] ;

s1[i]=’\0’;

printf("s1: %s \n",s1);

return 0;

}


2.输入20个整数,找出其中的最大数及最小数,并求其和值。

#include

int main()

{ int a[20],i,max,min,sum;

printf("input a[0]-a[19]:");

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

scanf(“%d”, &a[i] );

max=a[0]; min=a[0]; sum= a[0] ;

for(i=1; i<20 ;i++)

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

if(a[i]min=a[i] ;

sum+=a[i];

}

printf(%d,%d,%d\n",max,min,sum);

return 0;

}


3.输入一行字符到字符数组中,将其中的小写字母转化成大写字母,大写字母转化成小写字母,然后输出。

#include

#include

main()

{ char c,str[80];

int i;

gets(str);

for(i=0;(c=str[i])!= ’\0’ ;i++)

{ if( c>=’A’&&c<=’Z’ ) c=c+32;

else if(c>=’a’&&c<=’z’) c=c-32;

str[i]=c; }

puts( str );

return 0;

}



五、编写程序(每小题10分,共计20分)

(注意:可做在试卷反面)

1.输出100到300之间能被5整除却不能被3整除的所有数之和。

#include

int main()

{ int n,sum=0;

for(n=100; n<=300; n++)

if(n%5==0 && n%3!=0) sum += n;

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

return 0;

}


2.编写main函数及一个求x阶乘(x!)的用户自定义函数fun( ),并在主函数中调用该函数求组合数c的值

#include

int main()

{ long int fun(long int x);

long res, res1, res2, res3,m, n;

scanf(“%ld,%ld”,&m,&n);

res1=fun(m); res2=fun(n); res3=fun(m-n);

res=res1/(res2*res3);

printf(“%ld\n”,res);

return 0;

}


long int fun(long int x);

{ long int i, res=1;

for(i=2; i<=x; i++)

res *= i;

return(res);

}

相关推荐

软考在即,不如来快速复习吧_软考百度贴吧

5.29号就要考试的小伙伴方不方,不方的都是学霸!每天被工作压得喘不过气的浪孩只能临阵磨枪了。先来看看软件设计师的分数分布吧,知己知彼才能百战不殆嘛...

数据类型、运算符与表达式_数据类型,运算符与表达式的关系

在C语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。一、C中的类型可分为以下几种:1、基本类型:它们是算术类型,...

计算机组成原理复习要点(复习必过)

计算机组成原理复习要点一、...

2018年下半年网络工程师上午试题_2018年网络工程师上半年真题答案详解

2018下半年网络工程师上午试题分析与解答试题(1)采用n位补码(包含一个符号位)表示数据,可以直接表示数值_(1)。试题分析采用n位补码(包含一个符号位)表示数据时,用1位(最高位)表示数的符...

轻松办公-OfficeExcel函数精解(二十二)

轻松办公-OfficeExcel函数精解(二十二)1、...

企业无码药品快速上传操作指南(上)

根据国家医保局等四部门发布的《关于加强药品追溯码在医疗保障和工伤保险领域采集应用的通知》,自2025年7月1日起,医保定点医药机构在销售药品时必须扫描药品追溯码方可进行医保基金结算。对于2025年7月...

C/C++编程知识:整型数据在内存中的存储!讲解+示例

1.整型的归类charshortint...

1.2 计算机内信息的表示与存储_计算机中的信息存储

1.2计算机内信息的表示与存储上一节介绍了计算机发展及计算机简单的工作原理,引入了二进制的概念,讲解了十进制与二进制之间的转换关系。本节将进一步介绍如何用二进制表示现实世界的事物。计算机内部的程序和...

Bit Fiddle for Mac(字符进制转换工具) v1.4激活版

是否曾经想知道1的二进制补码写成十六进制数字是什么?还是需要快速的ASCII表?BitFiddle可以帮助您!BitFiddlemac破解版是一款不同进制之间进行数值转换的工具,这款软件能够将数...

零基础学C语言(4):基本数据类型——整型

上一节我们用如何用程序写一个计算器的例子,延伸到为啥会有数据类型、变量和常量的存在,并介绍了赋值和等于的区别。从这节开始详细分析这三个概念,从基本数据类型的整型开始,不多比比,直接上主菜。BOOL型上...

C语言-自运算、位运算、取反运算_c的位运算符

①自加自减运算...

第十一节课 原码 反码 奇偶校验码

大家好,我是电器电。今日我们先来介绍一下原码:在生活中正数和负数之分正数用十表示,负数用一表示。但在数字设备中机器不会识别正负号所以会在二进制码的最高位用0表示正,用1表示负。如(+105)原=011...

学习永远不晚 C语言试题及答案_学习永远不晚 C语言试题及答案解析

、单项选择题(本大题共20题,每题2分,共40分)1、以下不是C语言的特点的是(B)A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2...

整型的范围为什么是-32768 至 32767

初学PLC者都会有一个问题比较困扰,为什么PLC中整型数的范围是-32768~32767?直接回答就是因为计算机内表示数值使用的是补码,而不是原码,所以你才有这样的困扰。所谓原码就是这个数本身的二进制...

基础中的基础,不得不看的数字电路题目

1)10110010反码是(),补码是()。(填空)解析:本题考查数字电路中最基础的码制知识。...