上海应用技术学院 C语言 试题模拟二

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.选择题

1.以下不正确的C语言标识符是()。

A. AB1

B. a2_b

C. _ab3

D. 4ab

2.若有定义int (*p)[4],则标识符p是一个。

A、指向整型变量的指针变量

B、指向函数的指针变量

C、指向有四个整型元素的一维数组的指针变量

D、指针数组名,有四个元素,每个元素均为一个指向整型变量的指针3.若用数组名作为函数调用时实参,则实际上传递给形参的是

()。

A.数组首地址 B. 数组的第一个元素值

C.数组中全部元素的值 D. 数组元素的个数

4.C语言中规定函数的返回值的类型是由()。

A.return语句中的表达式类型所决定

B.在定义该函数时所指定的函数类型所决定

C.调用该函数时系统临时决定

D.调用该函数时的主调用函数类型所决定

5.以下错误的描述是()。

A. 不同的函数中可以使用相同的变量名

B. 形式参数是局部变量

C. 一个函数内部定义的变量只能在本函数范围内有效

D. 在一个函数内部的复合语句中定义的变量可以在本函数范围内有效

6.为了判断两个字符串s1和s2是否相等,应当使用( )。A.

if(s1 == s2) B. if(s1 = s2)

C. if(strcpy(s1,s2))

D.if(strcmp(s1,s2)==0)

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

A. x!=0

B. x==1

C. x!=1

D. x==0

8.若有以下说明和语句:

struct stu

{

int no;

char *name;

}student, *p=&student;

则以下引用方法不正确的是()。

A. student.no

B. (*p).no

C. p->no

D. student->no

9.以下对二维数组进行正确初始化的是()。

A.int a[2][3]={{1,2},{3,4},{5,6}};

B.int a[2][3]={{1,2},{},{4,5}};

C.int a[][3]={1,2,3,4,5,6};

D.int a[2][]={{1,2},{3,4}};

10.二维数组a有m行n列,则在a[i][j]之前的元素个数为()。A. j*n+i B. i*n+j C. i*n+j-1 D. i*n+j+1

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

1.从键盘输入10个整型数据,放入数组a 中,求其最大值及其所在元素的下

标位置,并输出。

main()

{

int a[10], n, pos, max;

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

scanf("%d", &a[n]);

max = ;

pos = ;

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

{

if (a[n] > max)

{

max = a[n];

pos = ;

}

}

printf("max=%d, pos=%d\n", max, pos);

}

2.输入若干个大于2的整数(否则终止运行),判断其是否为2个大于1的整数的乘积。

如:输入8则输出“2*4=8”,输入7则输出“不可分解”。

#include

#include ⑴

void main()

{ int m,i;

while(scanf("%d",&m),⑵ ) {

for(i=2;i<=sqrt(m);i++)

if(m%i==0){ printf("%d*%d=%d\n", ⑶ );break; }

if((4) ) printf("不可分解\n");

}

}

3.下列程序计算方程a•x2+b•x+c=0的实根。

#include

#include

struct root {

⑴ ;

};

root f(float a,float b,float c)

{ ⑵ ;

x.x1=(-b+sqrt(b*b-4*a*c))/2/a;

x.x2=(-b-sqrt(b*b-4*a*c))/2/a;

⑶ ;

}

void main()

{ float a,b,c; root y;

scanf("%f%f%f",&a,&b,&c);

if(b*b-4*a*c<0)

printf("方程无实根\n");

else {

y=f(a,b,c); printf("x1=%f,x2=%f\n", ⑷ );

}

}

相关文档
最新文档