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

}

    推荐阅读
  • 2021年宁波鄞州区招生咨询电话大汇总(宁波鄞州教育局招生办)

    2021年宁波鄞州区招生咨询电话大汇总咨询电话:蓝青小学招生咨询电话:88056767招生对象和范围小学段(一)户籍、家庭住宅房产在鄞州区且年满六周岁的学龄儿童;(二)根据区级及以上相关政策需在我区入学的年满六周岁的学龄儿童;(三)符合我区流动人口随迁子女入学条件的年满六周岁的学龄儿童。初中段户籍、房产在我区或根据区级及以上相关政策需在我区入学的以及符合我区流动人口随迁子女入学条件的小学六年级应届毕业生。

  • 脆皮泡芙的家常做法(脆皮泡芙做法)

    脆皮泡芙的家常做法黄油30克切丁软化。将酥皮面团分成三份,取两份各加入适量紫薯粉和抹茶粉揉匀。将酥皮面团滚成直径3.5厘米左右的圆柱形,包上保鲜膜,放入冰箱冷藏一小时。牛奶200克加糖40克加热至糖融化后倒入蛋黄糊快速搅拌。牛奶50克加入水50克、黄油45克放入锅中加热至沸腾。将面糊装入裱花袋,用圆口嘴挤成直径3-4厘米的泡芙坯。将做好的香草奶油酱装入放好泡芙花嘴的裱花袋。泡芙晾凉后,从底部挤入奶油酱。

  • 玉米结手链编织技巧(手工达人教你编织一个拼接玉米结手链)

    手工达人教你编织一个拼接玉米结手链,5分钟学会,但不是5分钟做完哦。单纯的玉米结有点单调,给它加上一点小花样,立马感觉不一样了。这款手链用到的基础结有绕线、玉米结和平结,不会的先到主页查看学习。

  • 直长发怎么扎好看编发(长直发怎么扎头发好看)

    长直发清纯又甜美,今天为大家分享两款长直发的扎法教程,马尾、盘发,款款时尚又简单,保证你一学就会。下面马上来试试吧。style1精致的辫子盘发展现出俏皮可爱的感觉,蝴蝶结头巾固定刘海,露出光洁的额头,尽显甜美感。扎发步骤:step1:梳理一下长发。step2:将头发分成两部分后编成辫子。step4:最后将辫子缠绕成花苞头后用发夹固定,戴上发箍即可。style2高耸的马尾活力十足,一丝不苟的扎发露出光洁的额头,干练感十足。step3:用橡皮筋固定。

  • 98寸显示器尺寸(98寸电视机价格一览表)

    随着生活品质提升与技术迭代脚步加快,电视行业呈现出明显的大屏高画质发展趋势,2021年以来这一趋势尤为明显。大屏电视汹涌来潮,市场潜力近乎无限行业数据也印证了这一趋势。以超大屏战略响应市场,TCL发布旗舰“双98大屏”市场浪潮汹涌澎湃,国内多家头部电视品牌也纷纷加码大屏高画质产品。“两条腿走路”,从快跑变为狂奔大屏、超大屏时代的到来,意味着全球电视市场即将进入洗牌期。

  • 蜀山神韵图(形胜奉友湘神奇合肥大蜀山)

    狂风大作,横扫全城,电闪雷鸣,震耳欲聋。须臾,天降甘霖,润泽大地,大旱终于解除,百姓欢欣鼓舞。经测定,这座火山的最后一次喷发大约在3600万年前。据安徽地质部门专家说,像大蜀山这样处于都市市区的古火山,在全国独一无二,在世界上也极为罕见。现在的大蜀山,已经成为合肥的国家森林公园。

  • 心酸文案句句戳心莫名落泪(带点心酸的文案句子)

    有时候也挺佩服自己的,能咽下一肚子的话和心酸,只说一个嗯。大家为什么看上去那么热爱生活,是不是装的?每天崩溃八百次,但只要有人问就是没事。也许是天生懦弱的关系,我对所有的喜悦都掺杂着不祥的预感。

  • 李荣浩在华语乐坛特殊的存在(李荣浩凭什么能够红火)

    第25届台湾金曲奖上,他更是凭借专辑《模特》以新人之姿一举拿下了当年的最佳新人奖,成为了2014年最大的一匹黑马。其实在走红之前,李荣浩一直是一位幕后创作人,自从2013年开始他才从幕后慢慢地走到前面来,这一点和华语天王巨星周杰伦的经历很相似。

  • 蛋糕电饭锅做法简单(电饭锅做蛋糕简易做法)

    9、然后在刚才的蛋黄中加入两勺糖。11、六勺子的牛奶。

  • 智取生辰纲的情节图(各怀鬼胎的众好汉)

    按理说,智取生辰纲应该是悄无声息的隐晦行为,越是低调越是成功概率高且事发概率小。晁盖参与智取生辰纲,很多朋友说他是因为平时手脚过大,家里没钱了。吴用参与智取生辰纲之事有两方面原因,一来为了改善生活,二来为了做件大事,已了心中遗憾。抢劫生辰纲正式成为了智取生辰纲。智取生辰纲一事中最诡异的是公孙胜的出现。