有关c语言的题目及答案,你值得拥有 c语言试题及答案吗

有关c语言的题目及答案,你值得拥有 c语言试题及答案吗

个别选择题(本大题共20分,各小题1分,共20分)。

1 .以下说法正确的是

c程序可以从任何函数运行

可以用其他函数调用main函数

一个c程序只有一个主函数

主函数不能使用有形参数

2 .下一个正确的标记是

a . a B. a=2 C. a.3 D. a_3

3 .以下数据中属于“字符串常量”的是

a.abcb.\” ABC \” c.\” ABC \” d.\” a \”

4.char型常数存储在存储器中是因为

A. ASCII码B. BCD码c .内码d.10进制码

5 .假设字符类型变量a=3,b=6,计算表达式c=(a^b ) 2后,C的二进制值为

a.00011100 b.00000111 c.00000001 d.00010100

char a; int b; float c; 双精度d; 表达式a*b d-c的值类型为

A. float B. int C. char D. double

7 .如果以下程序的输出结果为a=5、b=4,则输入数据的格式应为() )

#include “stdio.h”

main ( ) )

{ int a,b;

scanf(\’%d,b=%d \’,a,b );

printf(a=%d,b=%d ),a,b );

() ) ) ) )。

a54b 5,4c5b=4d 5,b=4

8 .在c语言中,while和do…while循环的主要区别是

A.while的循环控制条件比do…while的循环控制条件更严格

B.do…while的循环体至少无条件执行一次

C.do…while允许从外部向循环体内移动

D. do…while的循环体不能是复合句

9 .循环语句for(x=0,y=0; ( y!=123(|(x4 ); x; 的循环执行

a .无限次b .不确定次数C. 4次D. 3次

10 .在c语言中,数组定义char array []=\’China \’; array所占的空间

A.4字节

B.5字节

6字节

7字节

11 .如果变量被正确解释为int类型,则语句scanf(“%d%d%d”,a,b,c ); 将3、5、8分别代入a、b、c。 不正确的输入格式是

3 enterb.3、5和8 enter

5输入

8输入

C. 3enter D. 3 5enter

58输入8

12.char *p=\’happy new year \’; char *q=p; int k;

for(k=1; k8; k )

{Putchar(*q );

q; () ) ) ) )。

上面的c块的输出结果是

A.happy new year

B.happy new

C.happy n

D.happy

E.appy n

13.double*p[5]; 如果是这样的话

p是指向双精度变量的指针

p是双精度数组

p是指针数组,其元素是指向双精度变量的指针

p是数组指针,指向双精度数组

14 .不能使用两个指针变量(

a .加法b比较c减法d指的是同一地址

15.c语言函数的描述正确的是

用c语言调用函数时,只能将实参的值传递给形参,形参的值不能返回给实参

c函数可以嵌套定义或递归调用

函数需要返回值。 否则,函数将不可用

函数需要返回值,返回值类型不确定

16 .对data a成员的正确引用有以下定义

struct test{int a; 浮动b; }data,*p=data;

a.(p ).data.ab.) p ).a C. p-data.a D. p.data.a

17 .如果有以下步骤(提示:注意宏替换规则)

#define N 2的

#define M N 1的

#define NUM 2*M 1的

#main ( )的

{ int i; 的

for(I=1; i=NUM; I ) printf(「%d(n ),I ); 的

(的

该程序中for循环的执行次数为() ) ) )。

A. 5 B. 6 C. 7 D. 8

18 .如有以下定义,则printf(“%d\\n”,sizeof ) them ); 的输出是

typedef union {long x[2]; int y[4]; char z[8]; } MYTYPE;

我的类型them;

A.32 B.16 C.8 D.24

19 .在以下语句中,将c定义为文件类型指针是

a .文件c; b .文件* c; c .文件c; D. file *c;

20 .在以下对c语言数据文件的描述中,正确的是

51TeA .文件由ASCII代码字符串构成,只能用c语言读写文本文件

51stB .文件由二进制数据系列构成,c语言只能读写二进制文件

51TeC .文件由记录序列构成,能够以数据保存形式分为二进制文件和文本文件

51TtD .文件以数据流形式构成,按照数据的存储形式可以分为二进制文件和文本文件

二、填空题(本大题共10分,各小题2分,共20分) )。

定义变量的同时,请确保为变量提供初始值

2 .下一段的输出结果为: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _下一段

int a=28; a=a21; printf(「%d%o\\n”,a,a );

正确表示3.0a10的逻辑表达式是: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

4 .如有定义int a[3],则*p; 将p指向数组a的赋值语句是_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ p

5.strcmp函数的功能是: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ strcmp函数

6 .写出公式的c语言表达_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _写公式

7 .将下一个程序描述为三目运算符的表达式为: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

if(ab ) max=a; else max=b

8 .定义如下。 对于#definef(n )2) n,等式f )2) 3的值是_ _ _ _ _ _ _ _。

9 .在c语言中,指针运算符是_ _ _ _ _ _ _ _ _ _ _,地址运算符_ _ _ _ _ _ _ _ _ _ _,地址运算符

10 .在c语言中,参数以两种格式传递: _ _ _ _ _ _ _ _ _和_ _ _ _ _ _ _ _和

三、程序分析问题(本题共5题,每题5分,共25分) )。

1 .如果在运行时输入: 2,则以下程序的运行结果为_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _。

#include stdio.h

main ( ) )

{

char class;

printf (“enter1for1stclasspostor2for 2nd post :”);

canf(「%c”,类);

if ( class==’1’)

printf(「1STclasspostageis19p”)

else

printf(「2ndclasspostageis14p”);

() ) ) ) )。

2 .以下程序的运行结果为: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

#includestdio.h

void main ( ) )

{

int num=0

wile(num=2) {

num;

printf(\’%d \’,num );

() ) ) ) )。

() ) ) ) )。

3 .以下程序的输出结果为: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _以下程序

#include stdio.h

main ( ) )

{ int k=4,m=1,p;

p=func(k,m );

printf(\’%d”,p );

() ) ) ) )。

func(inta,int b ) )。

{

int m=0,i=2;

i=i m 1;

m=i a b;

返回m;

() ) ) ) )。

4 .以下程序的执行结果为()。

#include stdio.h

main ( ) )

{

inta [ ]={ 5,6,7,8 },I;

func(a );

for(I=0; i4; I )

printf(\’%d \’,a[i] );

() ) ) ) )。

是func(int*b )

{

int j;

for(j=0; j4; j )

b[j]=2*j;

() ) ) ) )。

5 .有程序myapp.c,代码如下。

#include stdio.h

main(intargc,char *argv[] ) ) ) ) ) ) ) ) ) main ) ) ) main ) ) ) main ) ) main ) ) main ) ) ) chargv ) ) ) ) chargv )

{

wile(–argc0) printf ( % s,argv[argc] ); printf(「\\t \” ); () ) ) ) )。

() ) ) ) )。

如果编译并创建myapp.exe,然后输入以下命令:

myapp aaa 333 bbb 444

输出结果为_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _输出

四、程序填充问题(本大题共5题,每题4分。 共计20分)

1、根据以下嵌套if语句给定的条件,填写switch语句,完成相同的功能。

(假设mark的可取值在1到100之间) if语句如下:

if (标记60 ) k=1;

else if (标记70 ) k=2;

else if (标记80 ) k=3;

else if (标记90 ) k=4;

else if (标记100 ) k=5;

请填写以下转换后的switch语句括号内的内容。

开关( ) )

{

__________: k=1; 黑;

case 6 : k=2; 黑;

case 7 : k=3; 黑;

case 8 : k=4; 黑;

___________: k=5; 黑;

() ) ) ) )。

2 .在数组中输入8个数,找出其中的最大数量和最小数量并输出。

main ( ) )

{

int I,max,min,a[_______];

for(I=0; I8; I ) scanf(“%d”,a[I];

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

for(I=1; I8; I )

{

if(a[I]max ) )。

max=_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _;

if(a[I]min ) )。

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _;

() ) ) ) )。

printf(「max=%d,min=%d\\n”,_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ n”,)

() ) ) ) )。

3 .下一个程序的功能是输入三角形的三条边a、b、c。 求三角形的面积,填一下:

#include math.h

main ( ) )

{

float a、b、c、s、area;

scanf ( \”、a、b和c ); //填孔/

s=1.0/2*(ABC );

area=(s*(s-a ) ) s-b ) ) s-c ); //填孔/

printf(「a=%7.2f,b=%7.2f c=%7.2f,s=%7.2f\\n”,a、b、c、s );

printf(「area=%7.2f\\n”,area );

() ) ) ) )。

4 .以下程序的功能是求出的近似值。 请填写空栏。 ((提示) ) ) ) )。

#include stdio.h

main ( ) )

{

int s;

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _; //填孔/

t=1; pi=0; n=1.0; s=1;

wile(Fabs(t ) 1e-6 ) )。

{

__________________; //填孔/

n=n 2;

s=-s;

t=s/n;

() ) ) ) )。

pi=pi*4;

printf(「pi=.6f\\n”,pi );

() ) ) ) )。

5 .下一个程序的功能是从一个文件中读取三个结构并将其存储在一个结构数组中。 请填写空栏。

#include stdio.h

struct Test {

char a[20];

(;

主( )。

__________________; //填孔/

struct Test x[3];

int i;

FP=fopen(「d:\\cwz\\\\ABC.bat \”、\” rb \” );

for(I=0; i3; I )

__________________; //填孔/

flose(FP );

() ) ) ) )。

五、编程问题(本题共2题,第一题7分,第二题8分,共15分) )。

1 .输入华氏温度编制程序,按下式计算相应的摄氏温度( c )并输出:

c=5(f-32 )/9

2 .编制程序用结构存储下表数据,计算并输出人均姓名和实际工资。 实际工资=基本工资变动工资-支出。

姓名

基本工资

浮动工资

支出

乔安

三星

240.0

360.0

560.0

400.0

120.0

0.0

75.0

50.0

80.0

结构的定义如下:

结构工作器

{

char name[10];

float jbgz;

float fdgz;

浮之知察

(;

请参阅答案:

一.选题

1.C 2.D 3.B 4.A 5.D

6.D 7.D 8.B 9.A 10.C

11.B 12.C 13.C 14.A 15.A

16.B 17.B 18.C 19.B 20.D

二.填补问题

1 .变量初始化

2. 20 24

3. a=10a=0

4. p=a; 或p=a[0];

5 .比较两个字符串的大小

6.x=(-bsqrt ) b*B-4*a*c ) )/( )2*a ) ) ) ) ) ) ) ) ) ) ) ) ) ) )

7. max=(ab )? a:b或max=ab? a:b

8. 7

9. *

10 .传价传址

三.程序分析问题

1.2nd class postage is 14p

2. 1 2 3

3. 8

4. 0246

5. 444 bbb 333 aaa

四.程序填充问题

1 .默认

case 9

2. 8

a[I]。

min=a[I]

最大,最小

3. %f%f%f

Sqrt

4. float t,pi,n

pi=pi t

5. FILE *fp

fread(x[I],sizeof(structtest ),1 fp ) )

五.程序设计问题

1. #includestdio.h

main ( ) )

{float C,f;

printf(「inputf:\” );

scanf(“%f”,f );

c=5*(f-32 )/9;

printf(「c=%.2f”,c );

() ) ) ) )。

2. #include stdio.h

结构工作器

{

char name[10];

float jbgz;

float fdgz;

浮世奇;

(;

main ( ) )

{struct worker w[3]={{\’Zhao \’,240,400,75 }、{\’Qian \’,360,120,50 }、{\’Sun \’,560,0,0,80 };

int i;

打印( names fgz ( n ) );

for(I=0; i3; I )

printf(%4s.2f(n ),w[i].name,w[i].jbgz w[i].fdgz-w[i].zhichu );

() ) ) ) )。

相关推荐

2021年福建省自学考试时间,福建省2021年自学考试报名时间

根据《教育部教育考试院关于2022年上半年高等教育自学考试延期考试全国统考课程考试安...