2023年高级语言程序设计试题A

发布 2021-04-24 13:51:28 阅读 2777

一、选择题(每小题2分,共20分)

1.c语言不能选用的标识符是( )

a.wordb.2c.hellod.sum

2.已知a,b,x均为double类型,对于数学表达式,正确的c语言表达式是( )

a.2sqrt(x)+(a+b)/3sin(xb.2sqrt(x)+(a+b)/(3sin(x))

c.2*sqrt(x)+(a+b)/3/sin(xd.2*sqrt(x)+(a+b/3*sin(x))

3.在while (x)语句中的x与下面条件表达式等价的是( )

a.x==0b.x==1c.x!=1d.x!=0

4.下列运算符中,优先级最高的是( )

abcd.&&

5.对二维数组的正确定义是( )

a.int a[ ]

c.int a[ ]3]=;

6.执行下列语句。

int a=8,b=7,c=6;

if (ac)

printf(″%d,%d,%d″,a,b,c);

后输出的结果是( )

a.6,7,7b.6,7,8 c.8,7,6d.8,7,8

7.判断字符串s1是否大于字符串s2,应当使用( )

a.if (s1>s2b.if (strcmp(s1,s2))

c.if (strcmp(s2,s1)>0d.if (strcmp(s1,s2)>0)

8.调用函数时,若实参是一个数组名,则向函数对应的形参传送的是( )

a.数组的长度b.数组的首地址。

c.数组第一个元素的值d.整个数组元素的值。

9.设int a[3][4];则与元素a[0][0]不等价的表达形式是( )

a.*ab.* ac.*a[0d.*(a+0)+0)

10.设有定义struct point pa,*r=&pa;则对pa中成员x的正确引用是( )

a. b.>x

二、填空题(本大题共8小题,每小题2分,共16分)

1.一个c程序一般由若干个函数构成,程序的执行总是从函数开始。

2.设int y;执行表达式(y=4)||y=5)||y=6)后,y的值是。

3.写出“n是大于20且小于99的奇数”的c语言逻辑表达式。

4.若定义了int a=1;则执行printf(″%d″,(a=a+2,a+3));语句的输出结果是 。

5.已知:char *p="hello world";

则printf("%c",*p); 语句的输出结果为。

6.在c语言中,整型常量的书写形式包括:八进制、十进制和进制。

7.函数调用时,若形参是一个变量,而对应的实参是一个有确定值的表达式,则函数参数的传递方式是传递。

8.设int a[3][2]={2,4,6,8,10,12};则*(a[2]+1)的值是___

三、程序分析题(本大题共3小题,每小题6分,共18分)

1.写出下面程序的输出结果:(设从键盘输入:420,然后回车)

#include <>

main( )

char c;

while ((c=getchar( )n')

switch(c-'0')

case 0:

case 1:putchar(c+2);

case 2:putchar(c+3);break;

case 3:putchar(c+4);

default:putchar(c+1);break;

printf("");

2.写出下面递归程序的输出结果。

void reverse(char a,int left, int right)

for (i=0;i<6;i++)printf(“%c”,a[i]);

printf(“”);

reverse(a,0,5);

for (i=0;i<6;i++)printf(“%c”,a[i]);

printf(“”);

3.已知链表结点结构类型定义如下:

struct node

int data;

struct node *next;

有一链表的存储状态如下图所示,调用print(head)函数的输出结果是什么?

void print(struct node *head)

struct node *p=head;

while (p!=null)

if (p->data<0

printf("%6d",p->data);

p=p->next;

四、程序填空题(本大题共3小题,每小题6分,共18分)

1.输入一个学生的成绩(在0~100分之间,超出此范围显示错),进行五级评分并显示。

#include <>

main (

int score;

scanf ("d",&score); printf ("d->"score);

if( (1第一空 *

switch ( 2第二空 */

case 9:

case 10: printf ("excellent \ n");break;

case 8: printf ("good \ n");break;

case 7: printf ("middle \ n");break;

case 6: printf ("pass \ n");3第三空 */

default: printf ("no pass \ n");

else printf ("input error! ");

2.下面程序的功能是输出1到999之的所有素数,并统计一共输出了多少素数,要求每行输出10个素数,请将程序补充完整。

#include <

int main()

int n,k,i,countcount是素数个数的计数变量 */

count=1;

printf("%5d",2输出素数2 */

for (n=3;n<1000;n+=2)

printf("共输出%d个素数!",count);

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

#include <>

#include <>

void main()

char str[80int i,num;

gets(str);

if (str[0num=0; else num=1;

for (i=11) ;i++)

if (str[istr[i-1] (2num++;

printf(“%s中一共有%d个单词。”,str, (3

五、编程题(第1小题12分,第2小题16分,共28分)

1.编写程序,求1!+2!+3!+…20!的和,并将其结果输出。

2.已知有结构体类型student定义如下:

struct student

int number学号*/

char name[10姓名*/

float score成绩*/

编写一个函数void selectsort( struct student s,int n),采用选择排序方法对长度为n的学生数组s按照成绩由高到低进行排序,并编写main()函数测试该函数。

2019级《高级语言程序设计》试题

1 变量名实际上是一个符号地址,对于已经定义的一个整型变量x,要获取其地址则可以用操作来实现。2 如果将变量c定义为无符号字符类型,定义形式为其数值取值范围 写成十六进制 为至。3 设有int a 2,b 3 float c 2.5 则算术表达式 a b int c float a b c的值是。4...

高级语言程序设计复习试题

1.c语言中用于结构化程序设计的3种基本结构是 c a.for,while,do whileb.if,switch,break c.顺序结构,选择结构,循环结构d.if,for,continue 2.关于c语言的主函数描述正确的是 c a.c程序可以有多个main函数 b.c程序必有一个而且只能有一...

高级语言程序设计试题卷

2011 2012学年度下学期期末考试。11 级计算机教育专业 三年制 高级语言程序设计试题 a b 卷。请将答案写在答题纸上,并写清考试课程名称 考场编号 考试时间及题号。一 填空 每空1分,共10分 1 c语言中普通整型变量的类型说明符为 int 2 设整型变量n的值为2,执行语句 n n n ...