77百科网
当前位置: 首页 生活百科

c语言基础题库及答案(C语言试题及答案)

时间:2023-06-29 作者: 小编 阅读量: 1 栏目名: 生活百科

c语言基础题库及答案?单项选择题,我来为大家科普一下关于c语言基础题库及答案?以下内容希望对你有帮助!while的循环控制条件严格B.do…while的循环体至少无条件执行一次C.do…while允许从外部转到循环体内D.do…while的循环体不能是复合语句9.循环语句for(x=0,y=0;(y!

c语言基础题库及答案?单项选择题 (本大题共20小题,每小题1分,共20分),我来为大家科普一下关于c语言基础题库及答案?以下内容希望对你有帮助!

c语言基础题库及答案

单项选择题 (本大题共20小题,每小题1分,共20分)

1. 下列说法正确的是( )

C程序可以从任何一个函数开始执行

main函数可以被其它函数调用

一个C程序只能有一个main函数

main函数中不能有形参

2.下列属于正确的标示符是( )

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

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

A. ABC B. “ABC” C. ‘abc’ D. ‘a’

4.char型常量在内存中存放的是( )

A. ASCII代码 B. BCD代码 C. 内码 D. 十进制代码

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

A. 00011100 B.00000111 C. 00000001 D.00010100

6. 若有以下定义:char a;int b;float c; double 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);

}

A 5 4 B 5,4 C 5 b=4 D 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)||(x<4);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);给a,b,c分别赋值3,5,8,不正确的输入形式是( )

3<enter> B. 3,5,8<enter>

5<enter>

8<enter>

C. 3<enter> D. 3 5<enter>

5 8<enter> 8

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

for( k=1;k<8;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 是指向double型变量的指针

p 是double型数组

p 是指针数组,其元素是指向double型变量的指针

p 是数组指针,指向double型数组

14.两个指针变量不可以( )

A. 相加 B 比较 C 相减 D 指向同一地址

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

在C语言中调用函数时,只能把实参的值传给形参,形参的值不能传回给实参

C函数既可以嵌套定义又可以递归调用

函数必须有返回值,否则不能使用函数

函数必须有返回值,返回值类型不定

16. 设有如下定义,则对data中的a成员的正确引用是( )

struct test{int a;float b;}data,*p=&data;

A. (*p).data.a B.(*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;

MYTYPE them;

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

19. 下列语句中,将c定义为文件型指针的是( )

A. FILE c; B. FILE *c; C. file c; D. file *c;

20.下列关于C语言数据文件的叙述中正确的是的

51TeA.文件由ASCII码字符序列组成,C语言只能读写文本文件的

51stB.文件由二进制数据序列组成,C语言只能读写二进制文件的

51TeC.文件由记录序列组成,可按数据存放形式分为二进制文件和文本文件

51TtD.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件

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

在定义变量的同时给变量赋予初值就称为___________________________________

2.下面程序段的输出结果是___________________________________________

int a=28; a=a&21; printf(“%d %o\n”,a,a);

3.能正确表示0≤a≤10的逻辑表达式是_________________________________

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

5.strcmp函数的功能是________________________________________

6. 写出数学式的C语言表达式________________________________

7.将以下程序写成三目运算符的表达式是____________________________________

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

8.设有定义如下:#define F(N) 2*N, 则表达式F(2 3)的值是_____________________.

9.在C语言中,指针运算符为___________________,取地址运算符________________。

10. 在C语言中,参数传递的两种形式是___________和___________

三、程序分析题 (本大题共5小题,每小题5分,共25分)

1.若运行时输入:2<回车>,则以下程序的运行结果是__________________________

#include <stdio.h>

main()

{

char class;

printf(“Enter 1 for 1st class post or 2 for 2nd post:”);

scanf(“%c”, &class);

if (class==’1’)

printf(“1st class postage is 19p”);

else

printf(“2nd class postage is 14p”);

}

2.以下程序的执行结果是_____________________________________________

#include<stdio.h>

void main()

{

int num=0;

while(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(int a, int b)

{

int m=0, i=2;

i = i m 1;

m=i a b;

return m;

}

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

#include <stdio.h>

main( )

{

int a[]={5,6,7,8}, i;

func(a);

for (i=0; i<4; i)

printf("%d", a[i]);

}

func(int *b)

{

int j;

for (j=0; j<4; j)

b[j]=2*j;

}

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

#include <stdio.h>

main(int argc,char *argv[])

{

while(--argc>0){ printf(“%s”,argv[argc]); printf(“\t”);}

}

编译后形成myapp.exe,如果输入如下的命令:

myapp aaa 333 bbb 444

则输出结果是:______________________________________________________

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

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

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

if (mark<60) k=1;

else if (mark<70) k=2;

else if (mark<80) k=3;

else if (mark<90) k=4;

else if (mark<100) k=5;

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

switch ( )

{

__________: k=1; break;

case 6 : k=2; break;

case 7 : k=3; break;

case 8 : k=4; break;

___________: k=5; break;

}

2. 将八个数输入到数组中,找出其中最大数和最小数并输出。

main()

{

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

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

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

for(I=1;I<8;I)

{

if(a[I]>max)

max=__________________________;

if(a[I]<min)

______________________________;

}

printf(“max=%d, min=%d\n”, ____________________________);

}

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

#include <math.h>

main()

{

float a,b,c,s,area;

scanf(“ ”,&a,&b,&c); /*填空*/

s=1.0/2*(a b c);

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;

while(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] ;

} ;

main(){

__________________;/*填空*/

struct Test x[3];

int i;

fp = fopen (“d:\\cwz\\abc.bat”, ”rb”) ;

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

__________________;/*填空*/

fclose(fp);

}

五、程序设计题 (本大题共2小题,第一题7分,第二题8分,共15分)

1.编写程序,输入华氏温度(F),按下列公式计算并输出对应的摄氏温度(C).

C=5(F-32)/9

2. 编写程序用结构体存放下表中的数据,然后计算并输出每人的姓名和实发工资,实发工资=基本工资 浮动工资-支出。

姓名

基本工资

浮动工资

支出

Zhao

Qian

Sun

240.0

360.0

560.0

400.0

120.0

0.0

75.0

50.0

80.0

结构体定义如下:

struct worker

{

char name[10];

float jbgz;

float fdgz;

float zhichu

};

参考答案:

一、单项选择题

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<=10&&a>=0

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

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

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

7. max=(a>b)?a:b 或 max=a>b?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.default

case 9

2. 8

a[I]

min=a[I]

max,min

3. %f%f%f

Sqrt

4. float t,pi,n

pi=pi t

5. FILE *fp

fread(&x[i],sizeof(struct Test),1 fp)

五、程序设计题

1. #include<stdio.h>

main()

{float C,F;

printf(“input F:”);

scanf(“%f”,&F);

C=5*(F-32)/9;

printf(“C=%.2f”,C) ;

}

2. #include <stdio.h>

struct worker

{

char name[10];

float jbgz;

float fdgz;

float zhichu;

};

main()

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

int i;

printf("name sfgz\n");

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

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

}

    推荐阅读
  • 牧马人手动挡怎么挂空档(牧马人手动挡挂空档方法介绍)

    以下内容希望对你有帮助!牧马人手动挡怎么挂空档手动挡汽车放空挡一般有两种方法:脚踩离合器,手把挡杆挂入空挡挡位。且手动挡汽车换挡一定要踩离合器,不踩离合几乎无法拨动档位,强行拨动,会损坏车辆。临时挂空挡,直接把离合器踩到底一直不放即可。

  • 魔兽世界工程学攻略(正式服工程学攻略分享)

    炸药配方方面也进行了一波更新,超级神风炸药和更大的炸弹作为地精工兵炸药和致密炸药的升级版,伤害增幅非常可观,所以在大多数的PVE竞速团中,工程学专业也有着用武之地。二是大秘境中必备的工程学战复道具,因为这件道具的加入,让队伍配置不再依赖于德鲁伊、术士和DK的战复来提高容错,冲层稳定性提高不少。

  • 晕车后可以喝酸奶吗 晕车前可以喝酸奶吗

    苹果汁苹果汁源自新鲜的苹果,口感比较甜美,晕车的时候可以喝一些苹果汁,帮助缓解胃中的不适感觉。怎么预防晕车提前吃些晕车药。市面上有很多晕车类药物,晕车者在出门前或者乘车前服用一些晕车药可以很大程度的缓解不适,如果有儿童晕车,在服用药物前记得用量减半,以免药效过重损伤身体。

  • 红参的吃法(红参怎么吃)

    以下内容大家不妨参考一二希望能帮到您!红参的吃法红参的吃法一般有炖煮、蒸服、冲茶、嚼食、磨粉、泡酒等。具有大补元气,补脾益肺,生津,安神益智的功效。在元气虚脱时,可用大剂量的人参煎煮独参汤。能加强动物高级神经活动的兴奋和抑制过程。并能增强机体对一切非特异性刺激的适应能力,能减少疲劳感。

  • 高中化学怎么快速提分(高中化学快速提分的方法)

    化学方程式、离子方程式这些方程式书上并不多,但是有很多都是重点,教材上出现化学方程式基本上都会伴随实验,对于这些实验要注意考虑药品先后放的顺序影响,药品过量少量的影响。配平化学方程式这是化学一大重点,在理综中化学大题除了选修题以外,配平方程式是得分的有效手段,原理就是得失电子相等,将氧化剂还原剂配一个适合的比例数使得失电子数相等,如果此处不通,一定要问同学老师,学透。

  • 写一篇读书后的感想怎么写(写一篇读书后的感想方法)

    写一篇读书后的感想怎么写?下面内容希望能帮助到你,我们来一起看看吧!先发表自己的意见或感想,然後引用读过的文章来做印证.这是一种「倒果为因」的写法,先说结果,然後说明为什么是这一种结果的原因。将读过的东西,把最受感动的部分做为中心来写;也可以把自己当做书中的主角来写;也可以采用书信的方式来写;更可以采用向老师或同学报告的方式来写。

  • 智齿为啥斜着长(智齿为什么会横着长)

    一般健康成年人的牙齿数量在28-32颗之间,其中有4颗为智齿,但是并不是所有人都能长出来。上排智齿由于上颌牙槽骨疏松,容易拔,术后也不容易出现剧烈疼痛。下排智齿用下牙槽神经阻滞麻醉术,进针时胀痛,麻药生效后牙槽骨,牙龈、舌等麻木,所以拔牙时不疼,但是牙脱位时部分人有酸软感。至于麻药散了后,也不会太疼,当然下排智齿因为创伤大,所以拔牙后会引起半边脸肿胀,一周左右就好了。

  • 孙梦秋姓名评分100分

    文章目录:一、孙梦秋相关名字打分96二、孙梦秋相关名字评分116三、孙梦秋相关名字推荐四、孙梦秋相关名字大全五、其他人还看了一、孙梦秋相关名字打分96孙耀东孙安可孙桐岗孙大庆孙伟平孙佳宁孙晨宇孙志国孙冠英孙凤林孙海鹰孙寒松孙振兴孙万胜孙志毅孙圣孙夕礼孙加龙孙善武孙桂华孙亚坤孙玉芬孙旖旎孙庆凯孙湘孙大亮孙渔孙晓备孙启鹏孙曦孙勋昌孙克战孙家屯孙思翰孙永尧孙树祯孙玉田孙博华孙艾孙立荣孙中柱孙络络孙伯纶孙

  • 司米安名字打分111分

    文章目录:一、司米安相关名字打分111二、司米安相关名字评分107三、司米安相关名字推荐四、司米安相关名字大全五、其他人还看了一、司米安相关名字打分111杨伟新司默归蝶司鉴所弓型椅赵汝珍贝木张德信司谏段亦宏司五笔司晓司珂龙木阁蒋莹司登利司嘉雯蓝视司李宋东奎司夜寒司天官司旭司蕃杨晤霍莹董恂纪蓁古德里荣新江司颜司刑郭孝明司宵子司康饼刘颖慧薄樱记王象之司达公孙春秋司顿司琬凌天宇宋罡昀司凯司典吕永和庄友坚

  • 菊花决明子茶能护肝吗(菊花决明子茶是能护肝吗)

    跟着小编一起来看一看吧!菊花决明子茶属于偏凉的产品,经常使用可能会导致肠胃功能受到影响,会有腹痛腹泻的情况发生。但是这款产品有清热泻火的作用,有保护肝脏的效果,所以是可以护肝的,而且还可以润肠通便,也能够降低血压,菊花决明子茶经常服用可以调理身体,让身体变得更健康,有需要的人可以按照说明书介绍的用法用量来操作。