C语言面试题

Python017

C语言面试题,第1张

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。下面就由我为大家介绍一下C语言面试题的文章,欢迎阅读。

C语言面试题篇1

1、已知字母b的ASCII码的十进制代码为98,则执行下列语句输出为( C)

ch=’b’

ch–

printf(%d,%c\n”,ch,ch)

A)a,b B)运算不合法,故有语法错 C)97,a

D)格式描述和输出项不匹配,输出无值

2、若变量a已说明为float类型,则能实现将a中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是( C)

A)a=(a*100+0.5)/100.0 B)a=(a*100+0.5)/100 C)a=(int)(a*100+0.5)/100

D)a=(a/100+0.5)*100.0

3、下列程序段的输出结果是(B )

int a=5,b=7

printf(“%d,%d”,a++,++b)

A)5, 7 B)5, 8 C)6, 7 D)6, 8

   C语言面试题篇2

1、下列程序的输出结果是(D )

main()

{ int a=4

a*=a+=6

printf(“%d\n”,a)

}

A)40 B)60 C)80 D)100

2、下列程序的输出结果是( C)

main()

{int a=8

printf(“%a”,(a=a*5,a+6))

}

A)14 B)40 C)46 D)50

   C语言面试题篇3

1、定义a为整型,下列表达式a=3>6的运行后,a的值为(A )

A)0 B)1 C)3 D)表达式错误

2、、如果a=1,b=2,c=3,d=4,则条件表达式a>b?a: c>d?c: d的值为( D)

A)1 B)2 C)3 D)4

3、下述程序段的输出结果是( A)

{int a=5

a%=7

printf(“%d, ”,a)

a+=a*=a-=a*=2

printf(“%d”,a)

}

A)5, 0 B)0, 0 C)5, 12 D)0, 12

4、下列变量名中合法的是(A )

A)Tom B)3a6b C)6a7b D)5ABC

5、对于条件表达式(M)?(a++): (a–),其中的表达式M等价于(C )

A)M= =0 B)M= =1 C)M!=0 D)m!=1

一、判断题(对的写T,错的写F并说明原因,每小题4分,共20分)

1、有数组定义inta={{1},{2,3}}则a[0]的值为0。()

2、int(*ptr)(),则ptr是一维数组的名字。()

3、指针在任何情况下都可进行>,<,>=,<=,==运算。()

4、switch(c)语句中c可以是int,long,char,float,unsignedint类型。()

5、#defineprint(x)printf("theno,"#x",is")

二、填空题(共30分)

1、在windows下,写出运行结果,每空2分,共10分。

charstr[]="Hello"

char*p=str

intn=10

sizeof(str)=()

sizeof(p)=()

sizeof(n)=()

voidfunc(charstr[100])

{}

sizeof(str)=()

2、voidsetmemory(char**p,intnum)

{*p=(char*)malloc(num)}

voidtest(void)

{char*str=NULL

getmemory(&str,100)

strcpy(str,"hello")

printf(str)

}

运行

test函数有什么结果?()

10分

3、设

intarr[]={6,7,8,9,10}

int*ptr=arr

(ptr++)+=123

printf("%d,%d",*ptr,*(++ptr))

()10分

三、编程题(第一小题20,第二小题30分)

1、不使用库函数,编写函数

intstrcmp(char*source,char*dest)

相等返回

0,不等返回

-1

2、写一函数

intfun(char*p)判断一字符串是否为回文,是返回

1,不是返回

0,出错返回

-1

阅读了本文,本站还为你提供以下可能你会感兴趣的相关文章:

厦新笔试真题

安信证券笔试题

日立环球存储笔试题目

c语言面试经常问到的问题有:

1、C语言的主要特征是什么?

C是一种过程语言。C语言的主要功能包括对内存的低级访问,简单的关键字集和简洁的样式。这些功能使其适用于诸如操作系统或编译器开发之类的系统编程。

2、i ++和++i有什么区别?

1)表达式“i ++”返回旧值,然后递增i。表达式++i递增该值并返回新值。

2)后缀++的优先级高于前缀++。

3)后缀++的关联性从左到右,前缀++的关联性从右到左。

4)在C ++中,++i可用作左值,但i ++不能用作左值。在C中,它们都不能用作l值。

3、什么是l值?

l值或位置值是指可以在赋值运算符左侧使用的表达式。例如,在表达式“a = 3”中,a是l值,而3是r值。

l值有两种类型:

“不可修改的l值”表示无法修改的l值。const变量是“不可修改的l值”。

“可修改的l值”表示可以修改的l值。

4、数组和指针有什么区别?

指针用于存储动态分配的数组的地址,以及用于作为参数传递给函数的数组。在其他情况下,数组和指针是两个不同的东西,尽管数组和指针是不同的东西,但是数组的以下属性使它们看起来相似。

5、C语言中的“循环”数据类型是指什么?

所谓的“循环”数据类型,其实就是某种类型的数据溢出后,又从头开始存储。一个典型的例子是unsigned char变量若已经等于255,仍然对其加1,那么该变量就会溢出从头开始,也即等于零:

unsigned char a = 255。

a = a+1// a等于0。