一. 填空题(每题2分,共20分)

1. C语言基本数据类型有:_______________________________;

构造类型有:_____________________________________。 P.13

2.

C语言源程序注注释符号是:________________________________,

为表明层次结构,C语言源程序通常采用_____________________格式编写。P.4

3.

源程序TEST.C经编译产生的目标文件是:________________________;

经连接处理后,产生的可执行文件是:__________________________。

4. strlen(“1234

0xy)的值为:_____________________________;

sizeof(float)的值为:____________________________

5. 二维数组a[10]

[50]最后一行的首地址为:_________________________;

最后一个元素的首地址为:____________________________________。

6.

C标准库函数中,数学函数的原型在:________________头文件中,自定义头文件D

: MYC MY .

H应如何包含到源程序文件中:_________________________。P.130

7. 已知函数定义为:int stat(int a,float *p)

{……………}

则此函数的两个参数类型分别是_______________ 、

_____________________。

8. 设int x,y,z=4;

x=y=++z;

x=(y>z)?x+2;x++;则x的值是:_________;

设int a=0,b=0,c=0;c=++a | | b++;

,则a、b、c值分别是:_____________。

9. 与if (x=0) 等价的写法是if ( ! x );

判断两个(float)变量x,z是否相等一般:if ( fabc(x-z)<1e-6

)。

10.已知赋值语句zhang.year=1985;可判断zhang是_______________类型的变量;

定义文件指针的C语句是:_________________________________。

二. 单项选择题 (每题1分,共10分)

1. 组成C程序的基本单位是____________________________。

A.函数 B.标识符 C.表达式 D.语句

2.

设int类型的数据长度为2字节,则该类型数据的取值范围是__________________。

A.0至65536 B.0至65535

C.-32767至32768 D.-32768至32767

3. 在C语言中,逻辑值“真”是用_____________________表示的。

A.预定义为真值的宏 B.非零数

C.正数 D.非零整数

4.

C语言对于嵌套if语句规定else总是与_____________________匹配。

A.与最外层的if B.与之前最近的if

C.与之前最近的不带else的if D.与最近的{ }之前的if

5. 数组定义char

a[10]={`a`,`b`,`c`}:包括了几个元素____________________。

A.3 B.9 C.4 D.10

6.

数组名作为实参传给被调用的函数时,形参获得的是_____________________。

A.该数组第一个元素的值 B.该数组所有元素的值

C.该数组第一个元素的首地址 D.该数组所有元素的首地址

7. 为表示关系x ≥ y

≥z,正确的C语言表达式为_________________________。

A.(x>=>y>=z) B.(x>=y)AND(y>=z)

C.(x>=y)&&(y>=z)

D.(x>y)&(y>=z)

8. 根据定义int a[ ]={1,2,3},i,*p=a;

从语法分析_________________是不正确的。

A. a[p-a] B.*(&a) C.p D.*(*(a+i))

9.

若有语句scanf(“%d%d”,&a,&b);要使变量a,b分别得到12和34;正确的输入形式为____________________________。

A.12 34 B.12,34 C.1234 D.12:34

10.union uex {int i;float f;char

c;}ex;则sizeof(ex)的值是____________________。

A.4 B.5 C.6 D.7

三. 分析程序,写出运行结果。(每题4分,共20分)

1. 源程序如下,运行时假定键盘输入字符串为``2004``

#include

void main(void)

{

int n=0;

char c;

while( (c=getchar( )) ! =`n` ) /*字符型数字*/

{

if (c>=`0`&&c<=`9` )

n = n*10 + c- `0` ; /*数字*/

}

printf(“value=%d|n” ,n);

}

结果为: value=2004 。

2. 源程序如下:

#include

void main(void)

{

int num[9]={399,398,397,396,395,299,290,311,301};

int score[9]={81,85,59,77,90,66,89,93,73};

int iMax,iPos,i;

iPos=0;

iMax=score[iPos];

for(i=1;i<9;i++)

if(score>iMax)

{

iPos=i;

iMax=score[iPox];

}

printf(“num=%d,score=%d”,num[iPos];score[iPos]);

结果为: num=311, score=93 。

3. 源程序如下,运行时假定键盘输入数据为:1 2 3 4 5 6 7 8 9

10

#include

void main(void)

{

int i,a[10];

int *p;

p=a;

for(i=0;i<10;i++)

scanf(“%d“,p++);

for(p=a;p< SPAN>;p++)

if (*p%2)printf(“%3d”,*p);

}

结果为: 1 3 5 7 9 。

4. 源程序如下,两次运行,分别输入数据13和21

#include

#include

void main(void)

{

int n,s;

scant (“%d”,&n);

s=panduan( n);

if(s==1)printf(“yesn”);

else printf(“non);

}

int panduan(int n)

{

int k,j;

k=(int)sqrt((double)n);

for(j=2;j<=k,j++)

{

if(n%j==0) break;

}

if(j>k) retum(1);

else retum(0);

}

结果为 yes

no

5.源程序如下,运行时假定键盘输入字符为:AxByCz

#include

#include

void main(void)

{

char str[80];

int i;

gets(str);

for(i=0;str!=` `;i++)

if(str>=`a`&&str<=`z`) str-=32;

else if (str>=`A`&&str<=`Z`) str+=32;

puts(str);

}

结果为: aXbYcZ 。

四. 下列程序中每个划线处有一个错误,改正划线

中的错误,使其实现题目要求。(每体4分,共20分)

1. 求 s=1+2+3+、、、、、、、+100

include 改正为_________________________。

void sum (void) 改正为_________________________。

{

int s,i;

for (s=0,i=1;i<=100;i++)

{

s=s+ i ++; 改正为__________________________。

}

printf (“s=%f”,s) 改正为__________________________。

}

2. 源程序实现求x

#include

double pow(float . int) 改正为_________________________。

void main(void)

{

int i, n;

float x;

scanf (“%f,%d”,&x,&n);

for (i=1; i<9;i++)

printf(“%d,%en”, i, pow(i,x);

} 改正为______________________。

double v v pow(float x, int n)

{

int i;

double p=0; 改正为______________________。

for (i=1; i< i++)>改正为_______________________。

p*=x;

retum(p);

}

3. 源程序实现排升序。

#include

void main(void)

{

int i, j, iMin, a[10]={4,3,5,1,10,12,2,6,7,9}, iTemp;

for (i=0; i<9; i++)

{

iMin=0; 改正为_______________________。

for (j=i+1; j<10;j++)

if(a[iMin]< iMin="j;">改正为_______________________。

if (iMin==i) 改正为_________________________。

{ iTemp=a;

a[iMin]=a; 改正为_________________________。

a[iMin]=iTemp;

}

}

for(i=0; i<10; i++)

printf(“%4d”, a):

}

4. 源程序为求平均值。

#include

void main(void)

{

int i, sum; 改正为____________________。

float avg;

int sc[10], *p=sc;

for (i=0, i<10; i++) 改正为____________________。

{

scanf(“%d”, p++);

sum+= *p; 改正为____________________。

}

avg = sum/ 10; 改正为___________________。

printf(“avg=%f”, avg);

}

5. 源程序求 eX=1+x+x2/2!+……+xn/n!前n+1项之和

#include

void main(void>

{

float exp , x , t;

int i, n;

scanf(“%f, %d”,&x, &n);

t=0; 改正为___________________。

exp=1.0;

for(i=1 ; i<=n; i++)

{

if(t<1e-6) loop; 改正为__________________。

t+=x/i; 改正为___________________。

exp*=t; 改正为___________________。

}

printf(“n%15.6f”, exp);

}

五. 编程题 (每题6分,共30分)

1.

根据以下程序框架,编写子函数,实现交换两个整型变量x和y的值。

#include

void swap (int *, int *);

void main (void)

{

int x, y;

scanf(“%d, %d”, &x, &y);

swap( &x, &y);

printf(“%d, %d”, x, y);

}

void swap( )

{

}

2.

设某班人数36人,参加C语言考试,用一维数组score[36]存放考试成绩,已给出一部分程序,完善以下程序,使其实现统计并输出不及格人数及百分比。

#include

void main (void)

{ int i;

float scoer[36], precent;

int count=0;

for (i=0; i<36; i++)

{

scanf(“%f”, &score);

}

3.

完善以下程序使其实现由键盘任意输入一串字符,统计其中大写字母个数iA、小写字母个数ia、其他字符个数iother。

#include

#include

void main (void)

{

char str [80];

int i, iA=0, ia=0, iother=0;

}

4.

完善以下程序使其实现求方阵主和辅对角线元素之和及其转置矩阵,设方阵用二维数组a表示,转置矩阵用t表示,sl和s2表示主和辅对角线元素之和。

#include

void main(void)

{

int a[3] [3]={1,3,5,7,9,11,13,15,11};

int i, j, s1, s2;

int t[3] [3];

printf(“%d, %d,n”,s1, s2);

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

for(j=0; j<3; j++)

printf(“%3d”, t [j]);

}

5.

已知字符数组str[80],编写返回指针的子函数,实现在其中查找字符ch首次出现的位置。

#include

#include

#include

char *lstrchar(char*, char);

void main(void)

{

char c, *p, str[80];

gets (str);

scanf(“%c”, &c);

p=lstrchar(str,c);

if(p==NULL) printf(“char %c not foundn”c);

else printf(“The position is %d”, p-str);

char “lstrchar( )

{ }

大学C语言字符串题目,[转载]大学C语言考试题精选相关推荐

  1. c语言字符串 从后拷贝,C语言字符串拷贝

    C语言字符串拷贝利用指针操作,要清楚知道指针的指向 代码如下: #include #include #include char* my_strcpy1(char* dest, const char* ...

  2. c语言字符串数组的合并,C语言实现合并字符串

    学会Perl以及Python之后,处理字符串也只是我很喜欢做的一件事情.进行字符串的拼接在这些高级脚本语言中是一件轻松的事情. C语言是我的编程入门语言,但是我一直对这门语言了解并不是很深.确切说,我 ...

  3. c语言全部题目及答案,C语言全部题目及答案

    C语言全部题目及答案 Exercise 1: Programming Environment and Basic Input/Output 1. Write a program that prints ...

  4. c语言字符串转成二进制,C语言中字符串如何转换为二进制、八进制、十进制、十六进制...

    在C语言某个程序当中需要把文本16进制转换成对应的16进制数,比如字符串"0x1a"转换成10进制的26,可以用以下函数来实现 相关函数: atof, atoi, atol, st ...

  5. c语言字符串算法判断实验原理,C语言第二次实验报告

    一.实验题目,设计思路,实现方法 第十一次作业(二维数组): 11-5 打印杨辉三角(20 分) 本题要求按照规定格式打印前N行杨辉三角. 输入格式: 输入在一行中给出N(1≤N≤10). 输出格式: ...

  6. C语言经典题目 水仙花数,C语言经典练习题:水仙花数

    废话不说直接进入正题:传说中的水仙花数就是一个三位数的各个位数的三次方之和就是这个数本身例如153=1*1*1+5*5*5+3*3*3. 好,开始解题:首先,题中已经说了水仙花数是一个三位数,也就是说 ...

  7. c语言字符串操作面试题,C语言常见字符串面试题.pdf

    C语言常见字符串面试题 1. 字符串库函数的内部实现 memset库函数的实现 /* * memset - Fill a region of memory with the given value * ...

  8. c语言3368题目,电大《C语言程序设计课程》期末考试复习资料

    0993+C 评议程序设计A 第 1 页 共 31 页 C 语言程序设计课程期末复习练习 一.单选题 1.在每个C 语言程序中都必须包含有这样一个函数,该函数的函数名为( ).A. main 2.每个 ...

  9. c语言 字符串拷贝函数作用,C语言不使用strcpy函数如何实现字符串复制功能

    Ⅰ )字符串复制函数 字符串复制是字符串操作中比较常用的操作之一.C语言库函数中提供的字符串复制函数是:strcpy函数.该函数的功能为:把源字符数组中的字符串复制到目的字符数组中,字符串结束标志&q ...

最新文章

  1. Go 学习笔记(30)— Go 语言 make 和 new 的区别
  2. 在博客中如何让code具有比较易读的格式
  3. 《spring揭秘》读书笔记三
  4. SpringMVC学习03之使用注解开发SpringMVC
  5. 云计算成IT反“腐”后盾-《中国电子报》2013年5月特刊
  6. 互联网人知道几个情人节?
  7. 预告 | 旷视天元的前世今生与移动端推理优化@清华专场
  8. SpringMVC源码解析与思考
  9. 怎么用python进行回归预测_使用Python训练回归模型并进行预测
  10. Jenkins配置MSBuild时使用环境变量
  11. 数据库 基础学习7— 数据库编程
  12. 20145304 第十周学习报告
  13. Python学习笔记(15) 网络爬虫使用proxy实现自动换IP防封锁
  14. 首字母筛选 java_【Java习作】提取汉字拼音首字母(Java版)
  15. 小波变换原理及傅里叶变换(极好的文章)
  16. linux篇—Nginx反向代理负载均衡
  17. vue3中瀑布流插件 vue-masonry 的使用
  18. 个人运营app需要多少钱【费用】
  19. android m3u8 合并,M3u8合并APP
  20. QQ群推广最大化营销效果分析

热门文章

  1. studio3t连接mysql_Studio 3T 2019 强大的MongoDB数据库连接工具
  2. ninja文件语法学习
  3. 电脑本地连接图标不见 怎样找到恢复处理无法创建宽带连接(转)
  4. 实现1V1音视频实时互动直播系统 十二、第九节 直播客户端的实现
  5. H5C3动画实例,通过基于jQuery的fullpage插件完成
  6. 送餐界的扛把子又稳了
  7. 个人微信/支付宝免签支付系统源码
  8. 计算机毕业设计Python+django 宠物领养中心小程序(源码+系统+mysql数据库+Lw文档)
  9. php json里面追加一个数组,如何往指定是json数组里面添加数据
  10. 世界各国城镇人口占比数据(1960-2018年)