百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

你值得拥有 C语言试题及答案(c语言经典面试题目详解)

toyiye 2024-08-29 00:29 5 浏览 0 评论

单项选择题 (本大题共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=%10.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%12.2f\n",w[i].name,w[i].jbgz+w[i].fdgz-w[i].zhichu);

}

相关推荐

# Python 3 # Python 3字典Dictionary(1)

Python3字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,格式如...

Python第八课:数据类型中的字典及其函数与方法

Python3字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值...

Python中字典详解(python 中字典)

字典是Python中使用键进行索引的重要数据结构。它们是无序的项序列(键值对),这意味着顺序不被保留。键是不可变的。与列表一样,字典的值可以保存异构数据,即整数、浮点、字符串、NaN、布尔值、列表、数...

Python3.9又更新了:dict内置新功能,正式版十月见面

机器之心报道参与:一鸣、JaminPython3.8的热乎劲还没过去,Python就又双叒叕要更新了。近日,3.9版本的第四个alpha版已经开源。从文档中,我们可以看到官方透露的对dic...

Python3 基本数据类型详解(python三种基本数据类型)

文章来源:加米谷大数据Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在Python中,变量就是变量,它没有类型,我们所说的"类型"是变...

一文掌握Python的字典(python字典用法大全)

字典是Python中最强大、最灵活的内置数据结构之一。它们允许存储键值对,从而实现高效的数据检索、操作和组织。本文深入探讨了字典,涵盖了它们的创建、操作和高级用法,以帮助中级Python开发...

超级完整|Python字典详解(python字典的方法或操作)

一、字典概述01字典的格式Python字典是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。字典的每个键值key=>value对用冒号:分割,每个对之间用逗号,...

Python3.9版本新特性:字典合并操作的详细解读

处于测试阶段的Python3.9版本中有一个新特性:我们在使用Python字典时,将能够编写出更可读、更紧凑的代码啦!Python版本你现在使用哪种版本的Python?3.7分?3.5分?还是2.7...

python 自学,字典3(一些例子)(python字典有哪些基本操作)

例子11;如何批量复制字典里的内容2;如何批量修改字典的内容3;如何批量修改字典里某些指定的内容...

Python3.9中的字典合并和更新,几乎影响了所有Python程序员

全文共2837字,预计学习时长9分钟Python3.9正在积极开发,并计划于今年10月发布。2月26日,开发团队发布了alpha4版本。该版本引入了新的合并(|)和更新(|=)运算符,这个新特性几乎...

Python3大字典:《Python3自学速查手册.pdf》限时下载中

最近有人会想了,2022了,想学Python晚不晚,学习python有前途吗?IT行业行业薪资高,发展前景好,是很多求职群里严重的香饽饽,而要进入这个高薪行业,也不是那么轻而易举的,拿信工专业的大学生...

python学习——字典(python字典基本操作)

字典Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度。但它是无序的,包含的元素个数不限,值...

324页清华教授撰写【Python 3 菜鸟查询手册】火了,小白入门字典

如何入门学习python...

Python3.9中的字典合并和更新,了解一下

全文共2837字,预计学习时长9分钟Python3.9正在积极开发,并计划于今年10月发布。2月26日,开发团队发布了alpha4版本。该版本引入了新的合并(|)和更新(|=)运算符,这个新特性几乎...

python3基础之字典(python中字典的基本操作)

字典和列表一样,也是python内置的一种数据结构。字典的结构如下图:列表用中括号[]把元素包起来,而字典是用大括号{}把元素包起来,只不过字典的每一个元素都包含键和值两部分。键和值是一一对应的...

取消回复欢迎 发表评论:

请填写验证码