《C语言程序设计》期末考试试题

发布 2021-04-21 12:17:28 阅读 9889

(考生必须将答案做在前面的答题纸上!!)

试题一(28分,每小题4分)

解答下列各小题,把解答写在答卷的对应栏内。

1)试写出下列数学表达式的c语言表达式。

2)满足关系式’a’≤ch≤’z’的c语言表达式是。

a、(65≤ch)&&ch≤90b、ch>=’a’||z’>=ch

c、’a’≤ch≤’zd、!(ch<’a’||z’>ch)

3)设a=1;b=2;c=3;x=0;执行下面程序段后x的值是。

if (aelse x=3;

4)设有如下定义:

int a[ ]3] =

int (*p)[3]= a;

请写出printf(“%d”, p+ 1 ) 2 ))定位的行和列,以及输出结果。

5)下面的程序运用字符串指针,输出结果是

#include <>

main()

char *language=

unsigned c;

c=strcmp(language[1],language[3]);

printf("%d",c);}

a)0b)正数c)负数d)程序错。

6)下面的程序含有宏定义,它的运行结果是

#include ""

#define sqr(x) x*x

void main()

int a=100,k=1,m=2;

a/=sqr(k+m)/ sqr(k+m);

printf(“%d”,a);

7)设下列括号内的数都是二进制整数,请写出位运算的结果(分别用二进制和十进制数表示)。

试题二(12分)

读程序,把程序(或程序段)的输出结果写在答题纸的对应栏内。

1)[程序2.1]

#include <>

main()

int a=

int n=0, *p;

p=a+1;

n+=*p++)

n+=(p)++

n+=*p);

n+=+p);

printf(“n=%d, a=d, %d, %d, %d”, n, a[0], a[1], a[2], a[3]);

2) [程序2.2]

int sumadd( int func, int data )

return sum;

main()

试题三(12分)

改错。下面程序中都有三个错误,按原来程序的要求,纠正错误,并以“将第x行改为xxx”的形式进行解答,将解答写在答题纸的对应栏内。**的左边的“##2” …附加的行号。

[程序3.1] (本程序有3个错)。

1.以下程序用于输出第x个字符串的第x个字符,例如:第一个字符串的第一个字符,第二个字符串的第二个字符,…,本题3个错)。

##include <>

#2 void strselect(char *strs,int n, char *dest)

##8 main()

##10 char rst[81];

#11 strselect(strs, rst);

#12 printf(“%s”, rst);

#[程序3.2] (本题有3个错)

2. 下面程序用于输出数组a中指定第col列的全部元素。

##define n 4

#2 void printcol(int *p[n],int row,int col)

##8 main()

#9 ,col;

#10 int row=sizeof(a)/sizeof(a[0])/n;

#11 clrscr();

#12 do

#13 while (col<0||col>n-1);

#15 printcol(a,row,col);

#试题四(27分)

按指定的要求,写出程序段或函数。把解答写在答题纸的对应栏内。

1. (1)输入一个摄氏温度,要求调用名为ctof的函数,求出相应的华氏温度。公式为[c+32', altimg':

w': 93', h': 43'}]输出2位小数。

2)函数f获得十进制正整数n为实参数后,返回值是n的各数位上数字的和(例如,数字123的和就是6),试编程或写出关键程序段。

3)将一个乱序数组中的所有元素进行降序排列,(冒泡法、选择法等皆可)试编程或写出关键程序段。

试题五(12分)

阅读下列程序说明和相应的c**,把应填入其中 (n) 处的c**写在答题纸的对应栏内。每空2分。

[程序5.1] 利用指针技术,从键盘上输入3×4的二维数组中任一元素的下标,求出该元素与首元素相差的字节数(假设采用float类型数据)。

#include <>

#define n 4

main()

float a[ ]n]=;

float (*p

int i,j,size;

clrscr();

pprintf("input i,j of a[i,j] =n");

scanf("%d,%d",&i,&j);

size=(*p+isizeof(float);

printf("the size of =%d",size);

程序5.2] 以下程序可以把从键盘上输入的十进制数(long型)以二进制~十六进制任一制式的形式输出,请填空。

#include <>

main()

char b=

int c[64],d,i=0,base;

long n;

printf("enter a number :");scanf("%ld",&n);

printf("enter new base :");scanf("%d",&base);

do while

printf("transmite new base:");

for (-i;i>=0;--i)

printf("");

试题六(9分)

阅读下列程序说明和相应的c**,把应填入其中 (n) 处的c**写在答题纸的对应栏内,每空3分。

6.1源程序]下面的程序是利用插入排序法对输入的n个整数按从小到大排序。插入排序的基本思想:

将数组元素分为已排序和未排序部分;从第二个元素起,与前面已排好序的元素进行比较(第一次将a[1]与a[0]比较);若当前为i元素,则与前面已排好序的i-1个元素进行比较,若比j元素大,则插在j元素的后面。

#define n 10

main()

int i, j, temp, a[n];

for( i=0; iscanf("%d", a[i]);

for( i=1; i { temp保留要插入的元素*/

for(j=i-1j>=0; j--

a[j+1]=a[j找要插入的位置,同时将大于a[i]的元素往后移*/

j++;a[j

for( i=0; iprintf("%6d", a[i] )

C语言程序设计期末考试试题

一 单项选择题 30分 1.下列不属于算法应该具有的特性是 a.确定性 b.有穷性 c.可行性 d.有零个或者多个输入。2.以下不正确c语言标识符是 b.abc c.bc 3.计算机能直接执行的程序是 a.源程序 b.目标程序 c.汇编程序 d.可执行程序。4.以下运算符优先级最高的是 a.b.c....

C语言程序设计期末考试试卷

学号 姓名 分数 一 选择题 1 14题,每题1分 15 36题,每题2分。共58分 1 以下非法的赋值语句是。a n i 2,i b j c i 1 d x j 0 2 设a和b均为double型变量,且a 5.5 b 2.5,则表达式 int a b b的值是。a 6.500000 b 6 c ...

《C语言程序设计》期末考试试卷

c语言程序设计 期末考试试卷。txt机会就像秃子头上一根毛,你抓住就抓住了,抓不住就没了。我和你说了10分钟的话,但却没有和你产生任何争论。那么,我们之间一定有个人变得虚伪无比!过错是短暂的遗憾,错过是永远的遗憾。相遇是缘,相知是份,相爱是约定,c语言程序设计 c语言程序设计 期末考试试卷。txt机...