C语言复习试卷

发布 2021-04-23 12:28:28 阅读 5122

c语言试题。

一、单项选择题:(10分,每题2分)

1.设有以下定义:

int a[3][3] =

int (*ptr)[3] =a, *p = a[0];

则以下能够正确表示数组元素a[1][2]的表达式是。

a) *ptr + 1)[2])

b) *p + 5))

c) (ptr + 1)

d) *a + 1) +2)

2.有如下程序片段:

int i = 0;

while(i++ 2);

printf("%d", i);

则正确的执行结果是:

a) 2b) 3

c) 4d) 无结果。

3.合法的数组定义是。

a) int a language";

b) int a[5] =

c) char a = string";

d) char a

4.设有如下定义:

struct st

putchar('');

运行结果是:

#include<>

int square(int i);

main()

int i=0;

i = square(i);

for( ;i<5; i+=2 )

printf("%d", i);

int square(int i)

return i*i;

程序运行结果是:

#include<>

void inv(int *p, int n);

main()

int i;

int a[10]=;

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

printf("");

inv(a,10);

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

void inv(int *p, int n)

int *i, *j, m = n - 1) /2, t;

j = p + n - 1;

for(i = p; i <=p + m; i++,j--)

程序运行结果:

#include <>

struct name

char first[20];

char last[20];

struct beam

int limbs;

struct name title;

char ty[30];

main()

struct beam *pb;

struct beam deb = arcturan"};

pb=&deb;

printf("%d",

printf("%s", pb->ty);

printf("%s", pb->ty + 2);

运行结果是:

三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。(8分,每空1分)

1.下面这个程序的功能是对含有n个元素(最多10个)的一维数组按升序进行排序。

#include <>

#define array_size 10

void sort(int a,int n);

void inputarray(int a,int n);

void printarray(int a,int n);

main()

int a[array_size], n;

printf("input array lenth n<=10: "

scanf("%d", n);

printf("输入数组 a:");

inputarray(a, n);

sort(a, n);

printf("打印排序后的数组 a:");

printarray(a, n);

void sort(int a,int n)

int i, j, p, temp;

for(i = 0; i if

void inputarray(int a,int n)

int i;

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

void printarray(int a,int n)

int i;

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

printf("");

2. 下面程序的功能是从键盘输入一行字符,统计其中有多少单词。假设单词之间以空格分开。

[提示:判断是否有新单词出现的方法是---当前被检验的字符不是空格,而前一被检验字符是空格,则表示有新单词出现。]

#include<>

main()

char str[80];

int i, num;

gets(str);

if(str[0] !

elsefor(i = 1; str[ii++)

printf("num=%d", num);

四、在下面给出的4个程序中,共有16处错误(包括语法错误和逻辑错误),请找出其中的错误,并改正之。(30分,每找对1个错误,加1分,每修改正确1个错误,再加1分。只要找对15个即可,多找不加分。

)1.在给定的一组书名中,从键盘任意输入一个书名(书名可以有空格)。若找到,则打印该书名,否则打印”没找到”。

#include <>

#include <>

main()

int i, findflag=0;

char x

char str[13]=;

printf("请输入一个字符串:")

gets(x);

while(i<6 &&findflag)

if (findflag)

else2.打印100~200之间的所有素数。

#include <>

#include <>

main()

int m, i ;

for(m = 100; m <=200; m++)

if(flag)

3.从键盘输入任意一个学生的学号,在班级学生表中(学生表的学号是按升序排序的,且班级最多30人 ) 查找该学号是否存在,存在打印其考试成绩,否则打印“not find!”。

#include <>

#define arr_size 30;

int search( long *p, int n, long x );

main()

long num[arr_size], x;

float score[arr_size];

int i, n, pos;

printf("输入班级实际人数:")

scanf("%d",&n);

printf("输入学生学号和成绩");

for(i=0; i

printf("输入待查找学号:")

C语言复习试卷

此复习题并非全是考题,请同学们结合期末的复习题库的题一并复习。一 单项选择。1 一个c语言程序开始和结束的位置必然是 主函数 2 c语言规定,必须用 main 作为主函数名。3 由c源程序文件编译而成的目标文件的扩展名为 obj 经过连接后成为 exe 文件。4 以下叙述不正确的是 a 在c程序中,...

c语言复习试卷A

广东工业大学华立学院考试试卷 a 课程名称 c语言程序设计。考试时间 2010年月日 一 选择题 每小题2分,共40分 1.以下正确的说法是 a a 实参可以是常量 变量或表达式。b 形参可以为任意类型。c 实参只能是常量d 形参可以是常量。2.d 是正确的字符常量。a c b abc 11 d 语...

c语言复习试卷A

广东工业大学华立学院考试试卷 a 课程名称 c语言程序设计。考试时间 2010年月日 一 选择题 每小题2分,共40分 1.以下正确的说法是 a a 实参可以是常量 变量或表达式。b 形参可以为任意类型。c 实参只能是常量d 形参可以是常量。2.d 是正确的字符常量。a c b abc 11 d 语...