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

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

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

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);

}

    推荐阅读
  • 御坂美琴简笔画(御坂美琴怎么画教程)

    御坂美琴全身简笔画御坂美琴简笔画,下面来看看有没有你喜欢的御坂美琴简笔画?接下来我们一起去欣赏以下简笔画作品吧!御坂美琴简笔画御坂美琴全身简笔画御坂美琴简笔画画炮姐简笔画

  • 夫子之谓也为什么是宾语前置(夫子之谓也为啥是宾语前置)

    谓,是动词;夫子,是宾语;夫子之谓,就是把夫子(宾语)提前,之,就是“宾语前置的标志”。

  • 嫡女或公主重生复仇的小说推荐(但可以追一追的重生古言嫡长女她又美又飒)

    也要先一步掌握证据,不能给梁王陷害白氏一族的机会。还有白家儿郎尽损于南疆的事情白卿言不能瞒着祖母,得提前以缓和的方式让祖母心里有个准备。白卿言当年被刺中腹部落水,留下了病根格外畏寒,全府上下无人不知。真实抱着大长公主,闻到大长公主身上的檀香气息,白卿言越发的难过,生怕这个消息说出来还是和上一世一般的结果。

  • 日产的cvt跟丰田本田cvt区别(都是CVT变速箱丰田)

    日系的家用车为了追求高效的燃油经济性和平顺的驾驶感受,通常都会使用CVT变速箱。比如思域的1.5TCVT组合,最大马力182匹,峰值扭矩240Nm,在百公里加速时间上超过很多1.5TAT和1.5T双离合的车型。所以说,一款优秀的CVT变速箱同样可以兼顾驾驶。综合来看,虽然这三家都是CVT,但各自的方向截然不同,丰田专注于提升燃油经济性,本田则是强调运动和驾驶、日产则是主打前沿技术。

  • 迪丽热巴穿吊带裙图(迪丽热巴只穿内衣拍写真)

    迪丽热巴给我们的印象是一个新疆妹子,比较保守,可爱,在前一段时间拍的雪碧广告,也是穿的非常的保守,跟韩国女明星李成敏成了鲜明的对比。迪丽热巴拍雪碧广告,穿的是背心加短裤,一点也没有走光。哈哈,通过这个雪碧广告,大家还觉得迪丽热巴妹子特别清纯。但是没想到迪丽热巴拍了一组写真片,不走自己的玉女人设。

  • 支付宝武汉通验证失败(武汉通支付宝小程序)

    用户实名认证时操作常见的疑问,也给出具体的解答,可关注“我的武汉通”详细查询。或致电武汉通客服热线,待条件允许之后前往线下客服网点办理。已实名认证的用户,将需开票的卡片进行绑定即可直接开票。原电子发票用户由于仅登记了手机信息,需实名认证后即可使用。

  • 灵芝治疗癌症的案例(灵芝对治疗癌症有什么帮助)

    自古以来,灵芝便被视为珍贵的药物,已有几千年的应用历史。灵芝对肿瘤的抑制作用和良好的疗效引起了国内外研究者的高度关注。临床研究证实灵芝及其提取成分配合肿瘤放化疗及手术治疗有助于改善患者临床症状,提高免疫功能和耐受力,提升患者生存质量,降低放化疗导致的副反应,是目前最好的肿瘤辅助治疗药物之一。因此提醒癌症患者朋友,切不可放弃规范的癌症治疗,即使有条件吃灵芝,也要注意在医生指导下进行,不可过量。

  • 什么节日吃饺子(吃饺子的节日有哪些)

    什么节日吃饺子春节饺子是中国人最常用的名字,它的形状也有着各种各样。春节饺子的原因有两个,第一:饺子的形状和元宝一样,所以在春节的时候吃饺子有“招财进宝”的意思。冬至冬至吃饺子的风俗与南阳名医张仲景有关。正月初五正月初五,俗称破五节,是历史悠久的中国传统节日之一。立冬时,包饺子,味道既同大白菜有异,还要蘸醋加烂蒜吃,才算别有一番滋味。

  • 手机是否一定要关闭后台程序(手机后台软件是否需要关闭)

    手机是否一定要关闭后台程序根据自身需要来定是否关闭,为了方便使用,可以不关闭;为了延长待机时间,减少流量流失,可以关闭。手机后台运行软件关闭方法:1.打开手机,点击设置,点击应用管理程序,可以把一些垃圾预装软件直接禁用。

  • 相亲女生带朋友是什么意思如何解决 相亲女带闺蜜说明什么

    今天来聊聊一篇关于相亲女生带朋友是什么意思如何解决的文章,现在就为大家来简单介绍下相亲女生带朋友是什么意思如何解决,希望对各位小伙伴们有所帮助。二是参谋,所谓当局者迷、旁观者清,增加一个旁观者视角,对你进行观察分析。三是考虑安全,一个女孩子单独出来,对你不放心。四是追求效率,人家忙里偷闲出来,相亲和会友两不误。五是没把你放在心上,慷你之慨,成就她与闺蜜聚会。