当前位置:首页 » 编程语言 » mooc学院c语言期末考试
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

mooc学院c语言期末考试

发布时间: 2023-05-03 13:10:07

1. 求一份大一c语言考试试卷,加答案

附件上传失败...

C语言期末考试题及答案(1)

1、构成C语言的基本单位是___B____。
过程?
函数?
语句?
命令?
2、设x为整型变量,不能正确表达数学关系:5<x<10的c语言表达式是__B___。
5
x>5&&x<10?
x==6||x==7||x==8||x==9?
!(x<=5)&&(x<10)?
3、在C语言中,逻辑运算符的优先级从高到低的排列顺序为__D___。
&&、||、!?
||、&&、!?
&&、!、||?
!、&&、||?
4、下面语句中,正确的是__D___。
printf("%c\n","student");?
printf("%c\n","c");?
printf("%s\n",&a);?
printf("%s\n","hello");?
5、对于for(表达式1;;表达式3)可以理解为__B___。
for(表达式1;0;表达式3)?
for(表达式1;1;表达式3)?
for(表达式1;表达式1;表达式3)?
for(表达式1;表达式3;表达式3)?
6、执行下面程序段的结果是__B___。 main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d",a,b); }
a=1,b=1?
a=2,b=1?
a=1,b=0?
a=2,b=2?
7、执行下面程序段的结果是__D___。 int x=0; do { printf(“%2d”,x--); }while(x);
打印出321?
打印出23?
不打印任何结果?
陷入死循环?
8、设x=10,y=5;z=15,执行下面一段程序后z的结果是__C___。 If(x>y) if(y>z)x=y; else z=y;
7?
6?
5?
4?
9、如果一个函数被说明为static,那么__B___。
该函数只能被main函数调用?
该函数能被当前文件的函数调用,但不能被其他文件的函数调用?
该函数不能被当前文件的函数调用,可以被其他文件的函数调用?
任何文件的函数都可以调用该函数?
10、下面关于局部变量的描述中,错误的是__D___。
函数的局部变量的有效范围只能在本函数?
函数的形式参数也是局部变量?
局部变量的名称不能和函数同名称?
不同的函数中不能定义相同名称的局部变量?
11、下列初始化字符数组的语句中,错误的是__A___。
char str[5]="hello";?
char str[]={'h','e','l','l','o','\0'};?
char str[5]={"hi"};?
char str[100]="";?
12、引用数组元素时,数组下标可以是__D___。
整型常量?
整型变量?
整型表达式?
以上均可?
13、 已知:char str[10],*p=str; 下面的语句中正确的是__B___。
str="ABC";?
p="ABC";?
*str="ABC";?
*p="ABC";?
14、下面语句中,错误的是___D__。
int i;int *p;p=&i;?
int i,*p;p=&a;?
int i,*p=&a;?
int i,*p;*p=i;?
15、下面对于结构体类型的描述正确的是__A___。
结构体类型的大小为各成员变量所占内存的总和?
结构体类型变量与简单数据类型变量的引用规则一致。?
结构体类型的大小为其成员中所占内存空间最大的变量的大小?
结构体类型的大小为其最后一个成员中所占内存空间的大小?
16、C语言规定:在一个源程序中,main函数的位置____C____。
必须在最开始?
必须在系统调用的库函数的后面?
可以任意?
必须在最后?
17、表达式18/4*sqrt(4.0)/8值的数据类型是 ___C____。
int?
float?
double?
不确定?
18、在c语言中,char型数据在内存中的存储形式是 ___D___。
补码?
反码?
原码?
ASCII码?
19、阅读以下程序,当输入的数据形式为:25,13,10<CR>时,正确的输出结果为___D___。 main() { int x,y,z; scanf("%d%d%d",&x,&y,&z); printf("x+y+z=%d\n",x+y+z); }
x+y+z=48?
x+y+z=35?
x+z=35?
不能确定?
20、有如下程序 void main() { float x=2.0,y; if(x<0.0) y=0.0; else if(x<10.0) y=1.0/x; else y=1.0; printf(“%f\n”,y); } 该程序的输出结果是( C )。
0.000000?
0.250000?
0.500000?
1.000000?
21、判断char型变量s是否为小写字母的正确表达式是__C____。
'a'<=s<='z'?
(s>='a')&(s<='z')?
(s>='a')&&(s<='z')?
('a'<=s)and('z'>=s)?
22、执行以下语句后,y 的值为___A___。 int x,y,z; x=y=z=0; ++x || ++y && ++z;
0?
1?
2?
不确定值?
23、有如下程序段: int number=0; while(number++<=3) printf(“%d\n”,number++); 则正确的执行结果是___C___。
2 3 4?
0 1 2?
1 3?
2 4?
24、有如下程序 void main() { int n=9; while(n>6) { n--; printf(“%d”,n); } } 该程序段的输出结果是__B___。
987?
876?
8765?
9876?
25、要使以下程序段输出10个整数,请在空格中填入一个整数。 for(i=0;i<=___B___;printf("%d\n",i+=2));
15?
18?
20?
10?
26、设函数fun的定义形式为: fun(char ch,float x){…} 则以下对函数fun的调用语句中正确的是___B___。
fun(“abc”,3)?
t=fun(‘D’,5)?
fun(‘ab’,3)?
fun(‘78’,1)?
27、函数求sum(int n)的功能是计算自然数1到n的和,即1+2+…+n。 Main() { printf("The sum=%d\n",sum (10)); } int sum(int n){ int s=0,i; for(i=0;i<=n;i++) _____B_____ } 请从备选答案中选择一答案,补全程序。
s=s+n;return s;?
s=s+i;return s;?
return s;?
return s+=I;?
28、设函数fun的定义形式为 int fun(int a[],int n) { int s=0,i=0; for(i=0;i<n;i++)s+=a[i]; return s; } main() { int a[10]={1,2,3,4,5}; printf("sum=%d", fun(&a[2],2)); } 则程序的运行结果为___C___。
3?
5?
7?
9?
29、若有说明:int a[10];则对数组元素的正确引用是___D____。
a[10]?
a[3,5]?
a(5)?
a[10-10]?
30、以下不正确的定义语句是___B___。
double x[5]={2.0,4,0,6,0,8,0,10.0};?
int y[5]={0,1,3,5,7,9};?
char c1[]={'1','2','3','4','5'};?
char c2[]={'\x10','\xa','\x8'};?
31、下面程序的运行结果是___B____。 #include "stdio.h" main() { char str[]="SWLIA",c; int k; for(k=0;(c=str[k])!='\0';k++) { switch(c) { case 'I':++k;break; c
SWA?
SW*?
SW*A?
SW?
32、以下能正确进行字符串赋值操作的是___D___。
char s[5]={"12345"};?
char s[5]={'1','2','3','4','5',‘6’};?
char *s;*s="12345";?
char *s="12345";?
33、以下程序段的运行结果是___C___。 Char a[ ]="program", *p; p=a; while (*p!='g') { printf("%c", *p-32); p++; }
PROgram?
PROGRAM?
PRO?
proGRAM?
34、若有说明:char *pc[ ]={"aaa", "bbb", "ccc", "ddd"};,则以下叙述正确的是__C____。
*pc[0]代表的是字符串"aaa"的首地址?
*pc[0]代表的是字符'a'的首地址?
pc[0]代表的是字符串"aaa"的首地址?
pc[0]代表的是字符'a'的首地址?
35、下列程序的运行结果是___B___。 #include <stdio.h> #include <string.h> void f (char *s, int n) { char a,*q1,*q2; q1=s;q2=s+n-1; while(q1<q2) { a=*q1++; *q1=*q2--; *q2=a;} } main() { char b[]="ABCDEFG"; f(b, s
GAGGAGA?
AGAAGAG?
GFEDCBA?
AGADAGA?
36、定义如下的结构体描述同学信息 struct Student { unsigned long id; char name[30]; char class[30]; }s; 假设此同学的序号为1002,姓名为黎明,班级为冶金3班,则描述正确的为___C__。
id=1002; name=黎明; class=冶金3班;?
id=1002; name=”黎明”; class=”冶金3班”;?
s.id=1002; s.name=”黎明”; s.class=”冶金3班”;?
s.id=1002; s.name=黎明; s.class=冶金3班;?
37、用来描述C程序中注释的是__C___。
//?
?
**?
38、下列变量中合法的定义是__A___。
short _a=2-1?
long if=0xabcL?
double 1_d=1.5e2?
float a=1.5e2.7?
39、当c的值不为0时,能够将c的值赋给变量a和b的是__C___
c=b=a?
(a=c)||(b=c)?
(a=c)&&(b=c)?
a=c=b?
40、设有以下程序段,执行后的输出结果是___B__ int x=100,y=200; printf("%d",(x,y));
100?
200?
100,200?
编译出错
C语言期末考试题及答案(2)

1、若执行下面的程序时从键盘输入10,则输出是__B__ main( ) { int a; scanf(“%d”,&a); if(a++>10) printf(“%d\n”,++a); else printf("%d\n",a--); }
12?
11?
10?
9?
2、执行下面程序段的结果是__D___ int x=0; do { printf(“%2d”,x--); }while(x);
打印出321?
打印出23?
不打印任何结果?
陷入死循环?
3、执行与句:for(n=0;n++<4; ); 后,变量n的值是__C__。
3?
4?
5?
不定?
4、以下关于循环的描述中,错误的是__D___。
可以用for语句实现的循环一定可以用while语句实现?
可以用while语句实现的循环一定可以用for语句实现?
可以用do…while语句实现的循环一定可以用while语句实现?
do…while语句与while语句的区别仅仅是关键字while的位置不同?
5、下面的描述错误的是__C__。
函数可以有多个形式参数?
函数可以没有返回值?
函数内可以嵌套定义函数?
函数可以被其他函数调用?
6、函数返回值的类型是由__A__决定的。
定义函数时指定的返回类型?
函数中return语句的表达式类型?
主调函数的实际参数类型?
主调函数的返回值类型?
7、定义了一维int型数组a[10]后,下面错误的引用是__B__。
a[0]=1;?
a[10]=2;?
a[0]=5*2;?
a[1]=a[2]*a[0];?
8、定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为__B__。
24?
25?
18?
17?
9、下面语句中,错误的是__D__。
int i; int *p; p=&i;?
int i,*p; p=&a;?
int i,*p=&a;?
int i,*p; *p=i;?
10、 已知int型二维数组a[3][4],数组元素a[1][2]的地址不能表达为__C__。
&a[1][2]?
a[1]+2?
*a[1]+2?
*(a+1)+2?
11、C语言中,5种基本数据类型的存储空间长度的排列顺序为___A___。
char
char=int
char
char=int=long int<=float
12、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是 ___B___。
7?
8?
6?
2?
13、若有说明语句:char c='\72';则变量c ___A___。
包含1个字符?
包含2个字符?
包含3个字符?
说明不合法,c的值不确定?
14、若x,y均定义为整型,z定义为double型,以下不合法的scanf函数调用语句是___C___。
scanf("%d%lx,%le",&x,&y,&z);?
scanf("%2d * %d%lf",&x,&y,&z);?
scanf("%x%*d%o",&x,&y,&z);?
scanf("%x%o%6.2f",&x,&y,&z);?
15、若输入字符串:abcde<回车>,则以下while循环体将执行___A___次。 while((ch=getchar())=='e') printf("*");
1次?
死循环?
0次?
5次?
16、执行下面的程序段后,k的值是___C___。 k=1;n=263; do{k*=n%10;n/=10;}while(n);
3?
63?
36?
2?
17、下面程序段中循环的执行次数是___B___。 a=10;b=0; do{b+=2;a-=2+b;}while(a>=0);
10?
3?
5?
4?
18、下面程序段的运行结果是__D____。 x=2; do{printf("*");x--;}while(!x==0);
*?
***?
没有输出?
**?
19、下面程序段的运行结果是___B___。 i=1;s=1;a=0; do{a=a+s*i;s=-s;i++;}while(i<=10); printf("%d",a);
2?
-2?
3?
0?
20、有如下程序 void main() { int a=2,b=-1,c=2; if(a) if(b<0) c=0; else c++; printf("%d\n",c); } 该程序的输出结果是___A___。
0?
1?
2?
3?
21、程序中对fun函数有如下说明 void fun(); 下面说明是错误的是___B___。
fun函数无返回值?
fun函数的返回值可以是任意的数据类型?
fun函数没有形式参数?
void 可以省略?
22、函数求sum(int n)的功能是计算自然数1到n的和,即1+2+…+n。 main() { printf("The sum=%d\n",sum (10)); } int sum(int n){ int s=0,i; for(i=0;i<=n;i++) _____B_____ } 请从备选答案中选择一答案,补全程序。
s=s+n; return s;?
s=s+i; return s;?
return s;?
return s+=i;?
23、 有以下程序 int f1(int x,int y){return x>y?x:y;} int f2(int x,int y){return x>y?y:x;} main() { int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d)); f=f1(f2(a,b),f2(c,d)); g=a+b+c+d-e-f; printf()__A___
4,3,7?
3,4,7?
5,2,7?
2,5,7?
24、若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维的大小是___B___。
2?
3?
4?
无确定值?
25、判断字符串s1是否大于字符串s2,应当使用___D____。
if(s1>s2)?
if(strcmp(s1,s2))?
if(strcmp(s2,s1)>0)?
if(strcmp(s1,s2)>0)?
26、当运行以下程序时,从键盘输入:AhaMA Aha<CR> <CR>表示回车,则下面程序的运行结果是___A____。 #include "stdio.h" main() { char s[80],c='a'; int i=0; scanf("%s",s); while(s[i]!='\0') { if(s[i]==c)
ahAMa?
AhAMa?
AhAMa ahA?
ahAMa ahA?
27、以下程序执行后a的值为___C____。main( ) { int a,m=2, k=1, *p=&k; a=p!=&m; printf("%d\n",a); }
-1?
0?
1?
2?
28、以下能正确读入字符串的程序段是____C___。
char *p;scanf("%s", p);?
char str[10];scanf("%s", &str);?
char str[10], *p;p=str; scanf("%s", p);?
char str[10], *p=str;scanf("%s", p[1]);?
29、若有定义:int i, x[3][4];,则不能将x[1][1]的值赋给变量i的语句是___B___。
i=x[1][1] ?
i=*(*(x+1))?
i=*(*(x+1)+1)?
i=*(x[1]+1)?
30、下面程序的运行结果是____A___。 # include <stdio.h> # include <string.h> fun(char *s) { char t,*a,*z; a=s; z=s+strlen(s)-1; while(a++<z--) { t=*a++; *a=*z--; *z=t;} } main() { char *p; p="a
abdddfg?
afcdebg?
gbedcfa?
gfedcba?
31、用来描述C程序中注释的是__C___
/ /?
?
* *?
32、对于"xy\n\102\\\'"字符串的长度是__B___
7?
6?
12?
13?
33、已知:int x=10;执行语句x-=x+x;后x的值是__A___
-10?
10?
-20?
20?
34、下列描述中,正确的是__A___
所有的输入/输出都是通过调用库函数处理的?
所有的输入/输出都是通过输入/输出语句实现的?
getchar和putchar可以省略#include?
在输入/输出格式中的*表示跳过数据的含义?
35、设x=10,y=5;z=15,执行下面一段程序后z的结果是__C___ if(x>y) if(y>z)x=y; else z=y;
7?
6?
5?
4?
36、执行下面程序段的结果是__D___ int x=0; do { printf(“%2d”,x--); }while(x);
打印出321?
打印出23?
不打印任何结果?
陷入死循环?
37、以下关于switch语句和break语句的描述正确的是__D___
在switch语句中必须使用break语句?
break语句只能用于switch语句体中?
break语句只能用于循环语句中?
在switch语句中可以使用break语句?
38、与语句while(!x)等价的语句是__A___
while(x==0)?
while(x!=0)?
while(x!=1)?
while(~x)?
39、下面的描述错误的是__C___
?函数可以有多个形式参数?
?函数可以没有返回值?
?函数内可以嵌套定义函数?
?函数可以被其他函数调用?
40、 下面关于局部变量的描述中,错误的是__D___
?函数的局部变量的有效范围只能在本函数?
?函数的形式参数也是局部变量?
?局部变量的名称不能和函数同名称?
?不同的函数中不能定义相同名称的局部变

2. 大一期末考C语言试题求解答

第一题:#include<stdio.h>

voidmain()

{

inta[10],b[9],i=0;

for(;i<10;i++)

{

printf("请输入第%d个数",i+1);

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

}

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

b[i-1]=a[i]-a[i-1];

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

{

if(i%3==0)printf(" ");

printf("%d ",b[i]);

}

}

运行结果:

学习是要用心的,多动脑,多思考学到的东西才是自己的。喔,对了给分哟!!!!!

3. 中国大学mooc学C语言期末成绩可以加分吗

通过MOOC网站,你可以在那门课规定的时间里面选修课程,按时完成测验以及考试。如果满足课程设定的发证要求,就会有证书啦。其实这是一种自主学习而已,这个证书就是对你参与课程并取得一定能力的肯定,一般也就是让自己能有点成就感吧

4. c语言期末考试 求大神帮帮忙感激不尽

还需要写吗,挺简单的

5. 求一份C语言程序设计的期末考试试题!!!谢谢了

一.
选择题
(共15题,
每题2分,共30分)
1.
定义结构体的关键字是(

A.
union
B.
enum
C.struct
D.typedef
2.
设整型变量a为5,使b不为2的表达式是(

A.
b=a/2
B.
b=6-(--a)
C.
b=a%2
D.
b=a>3?2:1
3.
下面哪一项是不正确的字符串赋值或赋初值的方法(

A.
char
*str;
str=
“china”;
B.
char
str[7]=
{‘c’,
‘h’,
‘i’,
‘n’,
‘a’};
C.
char
str1[]=
“china”,str2[]=“123”;
D.
char
str1[10];
str1=
“china”;
4.
以下对二维数组a进行正确初始化的是(

A.
int
a[2][3]={{1,2},{3,4},{5,6}};
B.
int
a[
][3]={1,2,3,4,5,6};
C.
int
a[2][
]={1,2,3,4,5,6};
D.
int
a[2][
]={{1,2},{3,4}};
5.
选出下列标识符中不是合法的标识符的是(

A.
hot_do
B.
cat1
C.
_pri
D.
2ab
6.
以下说法中正确的是(

A.
C语言程序总是从第一个的函数开始执行
B.
在C语言程序中,要调用的函数必须在main()函数中定义
C.
C语言程序总是从main()函数开始执行
D.
C语言程序中的main()函数必须放在程序的开始部分
7.
若已定义:int
a[9],
*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为(

A.
p+1
B.
a+1
C.
a++
D.
++p
8.
若有说明:
int
i,j=7,
*p=&i;,
则与i=j;
等价的语句是(

A.
i=
*p;
B.
*p=*&j;
C.
i=&j;
D.
i=*
*p;
9.
若变量c为char类型,能正确判断出c为小写字母的表达式是(

A.
‘a’<=c<=
‘z’
B.
(c>=
‘a’)
||
(c<=
‘z’)
C.
(‘a’<=c)
and
(‘z’>=c)
D.
(c>=
‘a’)
&&
(c<=
‘z’)
10.
以下程序的输出结果是(

main()
{
int
a[]={1,2,3,4,5,6,7,8,9},
*p;
p=a;
*(p+3)+=2;
printf(
“%d,%d\n”,*p,*(p+3)
);
}
A.
0,
5
B.
1,
6
C.
1,
5
D.
0,
6
11.
以下程序的输出结果是(

main()
{
int
a=5;
float
x=3.14;
a*=x*(‘E’-
‘A’);
printf(“%f\n”,(float)a);
}
A.
62.000000
B.
62.800000
C.
63.000000
D.
62
12.
以下程序的输出结果是(

#define
f(x)
x*x
main()
{
int
a=6,b=2,c;
c=f(a)/f(b);
printf(“%d\n”,c);
}
A.
9
B.
6
C.
36
D.
18
13.
定义如下变量和数组:int
i;
int
x[3][3]={1,2,3,4,5,6,7,8,9};
则语句for(i=0;i<3;i++)
printf("%d
",x[i][2-i]);
的输出结果是(

A.
1
5
9
B.
1
4
7
C.
3
5
7
D.
3
6
9
14.
下列程序段的输出结果是


void
main(
)
{
int
k;
for
(k=1;k<5;k++)
{
if(k%2!=0)
printf(
“#”
);
else
printf(“*”)
;
}
}
A.
#*#*
B
.
*#*#
C.
##
D.
**
15.
下列程序执行后输出的结果是(

int
d=1;
fun
(int
p)
{
int
d=5;
d
+
=p
+
+;
printf("%d,",d);
}
main(
)
{
int
a=3;
fun(a);
d
+
=
a
+
+;
printf("%d\n",d);
}
A.
8,
4
B.
9,
6
C.
9,
4
D.
8,
5
二.
填空题(共7题,每空2分,共30分)
1.
数组
int
a[3][5];
共定义了_______________个元素。
2.
有float
f=3.1415927;

printf(“%5.4f”,
f
);输出的结果是_______________。
3.
下面程序的功能是:输出
100以内(不包含100)能被
3整除且个位数为
6的所有整数,请填空。
main(
)
{
int
i;
for(i=1;
_______________;
i++)
if
(_______________)
printf("%d",
i);
}
4.
设有“int
x=2,
y”说明,则逗号表达式“y=x+5,x+y”的值是
_______________
5.
以下是使用指针,进行字符串复制的程序,请填空。
main()
{
char
a[]=
“Tsinghua
University”,
b[30],
*p1,*p2;
p1=a;
p2=b;
for(;
*p1!=
‘_______________’;
p1++,
p2++)
_______________=_______________;
*p2=
‘_______________’;
printf(“string
a
is:%s\n”,a);
printf(“string
b
is:%s\n”,b);
}
6.
下面程序用冒泡法对数组a进行降序排序,请填空。
main()
{
int
a[5]={4,7,2,5,1};
int
i,j,m;
for(i=0;i<4;i++)
for(j=0;j<_______________;j++)
if(
_______________<
_______________
)
{
m=a[
j];
a[
j]=a[
j+1];
a[
j+1]=
m;
}
for(i=0;i<5;i++)
printf("%d
",a[i]);
}
7.
函数fun的功能是:使一个字符串按逆序存放,请填空。
void
fun
(char
str[])
{
char
m;
int
i,j;
for(i=0,j=strlen(str);i<_______________;i++,j--)
{
m=str[i];
str[i]=
_______________;
str[j-1]=m;
}
printf("the
rotated
string
is
%s\n",_______________);
}

6. 大一C语言期末考试的试题大概是什么样子的主要考什么

主要考程序阅读题,重点在c语言函数、指针、数组应用几个方面,要掌握基础的编程方法,比如排序基本算法,后面要编程序的

7. C语言期末考试试题(谭浩强版)

C语言期末考试试题
2008年04月12日 星期六 00:22

一 选择题(24分,每小题2分)
1.已知函数fread的调用形式为fread(buffer,size,count,fp),其中buffer代表的是()。

A 存放读入数据项的存储区
B 存放读入数据的地址或指向此地址的指针
C 一个指向所读文件的文件指针
D 一个整形变量,代表要读入的数据项总数

2.以下程序的输出结果为( )。
main( )
{
int i=010,j=10;
printf("%d,%d\n",i++,j--);
}

A 11,9
B 9,10
C 8,10
D 9,9

3.设a为int型变量,执行下列赋值语句后,a的取值分别是( )。
a=125.534;
a=20.0/3;
a=(int)125.521%4;
a=5<<2;

A 125,6,31,1
B 125,6,1,20
C 125,6.666666,31,20
D 125.534,6.666666,2,20

4.设i和k都是int类型,则for循环语句( )。
for(i=0,k=-1;k=1;i++,k++)
printf("****\n");

A 循环结束的条件不合法
B 循环体一次也不执行
C 循环体只执行一次
D 是无限循环

5.以下程序的输出结果为( )。
main( )
{
char c;
int i;

for(i=65;i<68;i++)
{
c=i+32;
switch(c)
{
case 'a':
case 'b':
case 'c':printf("%c,",c);break;
default:printf("end");
}
}
}

A a,b,c,end
B a,a,a,end
C a,a,a,
D a,b,c,

6.函数调用语句:fseek(fp,-10L,2);的含义是( )。
A 将文件位置指针从文件末尾处向文件头的方向移动10个字节
B 将文件位置指针从当前位置向文件头的方向移动10个字节
C 将文件位置指针从当前位置向文件末尾方向移动10个字节
D 将文件位置指针移到距离文件头10个字节处

7.以下程序的输出结果为( )。
main( )
{
int i=0,j=0;
while(s1[i]!='\0')
i++;
while(s2[j]!='\0')
s1[i++]=s2[j++];
s1[i]=0;

printf("%s\n",s1);
}

A side
B country
C sidetry
D countryside

8.下列说法不正确的是( )。

A 主函数main中定义的变量在整个文件或程序中有效
B 不同函数中,可以使用相同名字的变量
C 形式参数是局部变量
D 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效

9.在下列程序段中,枚举变量 c1的值是( )。
enum color { red,yellow,blue=4,green,white}c1;
c1=yellow;
c1=white;

A 1
B 3
C 5
D 6

10.设有说明 int (*ptr)();其中标识符ptr是( )。

A 是一个指向整形变量的指针
B 是一个指针,它指向一个函数值是int的函数
C 是一个函数名
D定义不合法

11.定义由n个指向整形数据的指针组成的数组p,其正确的方式为( )。

A int p;
B int (*p)[n];
C int *p[n];
D int (*p)( );

12.具有相同类型的指针类型变量p与数组a,不能进行的操作是( )。

A p=a;
B *p=a[0];
C p=&a[0];
D p=&a;

二 判断对错,对的划“√”,错的划“×”(20分,每小题2分)

1.参加位运算的数据可以是任何类型的数据。 ( )

2.若有定义和语句:
int a;
char c;
float f;
scanf("%d,%c,%f",&a,&c,&f);

若通过键盘输入:10 A 12 5
则a=10,c=‘A’,f=12.5。 ( )

3.C语言把文件看作是一个字符(字节)的序列。 ( )

4.若有宏定义:
#define S(a,b) t=a;a=b;b=t
由于变量t没定义,所以此宏定义是错误的。 ( )

5.在Turbo C中,下面的定义和语句是合法的:
file *fp;
fp=fopen("a.txt","r"); ( )

6.若有定义:
char s[ ]="china";
则Turbo C系统为数组s开辟6个字节的内存单元。 ( )

7.若有定义和语句:
int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0;
for(i=0;i<3;i++)
sum+=a[i][2-i];
则sum=21。 ( )

8.若有定义和语句:
struct student
{
int num;
char name[10];
float score;
}
s[5]={{1,"lili",98.5},{9,"xiaohua",66}},*p=s;printf("%d",*p++);
输出结果是1。 ( )

9.在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。 ( )

10.在Turbo C中,此定义和语句是合法的:
enum aa{ a=5,b,c}bb;
bb=(enum aa)5; ( )

三 写出下列程序的运行结果(36分,每小题6分)
1.
main( )
{
int i=29,j=6,k=2,s;
s=i+i/j%k-9; //s=i+(i/j)%k-9
printf(“s=%d\n”,s);
}

2.
main( )
{
int x=31,y=2,s=0;
do
{
s-=x*y;
x+=2;y-=3;
}
while(x%3==0); //先执行,后判断
printf(“x=%d\ty=%d\ts=%d\n”,x,y,s);
}

3.
main( )
{
int a[6]={10,20,30,40,50,60},i;
invert(a,0,5);
for(i=0;i<6;i++)
printf(“%d,”,a[i]);
printf(“\n”);
}

invert(int s[ ],int i,int j) //倒置
{
int t;
if(i<j)
{
invert(s,i+1,j-1); //函数自身的嵌套调用,形成循环
t=s[i];
s[i]=s[j];
s[j]=t;
}
}

4.
#include <stdio.h>

main()
{
char str[ ]="The C program",c;
int i;
for(i=2;(c=str[i])!='\0';i++)
{
switch(c)
{
case 'g': ++i; break; //由于++i,跳过了g后面的1个字母
case 'o': continue;
default: printf(“%c”,c); continue;
}
printf(“*”);
}
printf(“\n”);
}

5.
struct w //结构体
{
char low;
char high;
};

union u //共用体
{
struct w byte;
short word;
}uw;

main( )
{
int result;
uw.word=0x1234;

printf("word value:%04x\n",uw.word);
printf("high byte:%02x\n",uw.byte.high);
printf("low byte:%02x\n",uw.byte.low);

uw.byte.low=0x74;

printf("word value:%04x\n",uw.word);
result=uw.word+0x2a34;
printf("the result:%04x\n",result);
}

6.
main()
{
char *s2="I love China!",**s1=&s2;
char *s3,c,*s4="w";
s3=&c;
*s3='H';
s2=s2+2;
printf("%s\t%c\t%s\t%c\n",s2,*s3,s4,**s1);
}

四 阅读下列程序,在 处填入适当内容,使程序完整(20分,每个空2分)

1.百马百担问题:有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问大、中、小马各多少匹?
main( )
{
int hb,hm,hl,n=0;
for(hb=0;hb<=100;hb+=(1))
for(hm=0;hm<=100-hb;hm+=(2))
{
hl=100-hb- (3) ;
if(hb/3+hm/2+2*(3)==100)
{
n++;
printf("hb=%d,hm=%d,hl=%d\n",hb/3,hm/2,2*hl);
}
}
printf("n=%d\n",n);
}

2.用“起泡法”对输入的10个字符排序后按从小到大的次序输出。
#define N 10

char str[N];

void main()
{
int i,flag;

for(flag=1;flag==1;)
{
scanf("%s",str);
flag=0;
printf("\n");
}

sort(___(4)___);

for(i=0;i<N;i++)
{
printf("%c",str[i]);
}
printf("\n");
}

sort(char str[N]) //冒泡排序
{
int i,j;
char t;

for(j=1;j<N;j++)
for(i=0;i<10-j;i++)
if(str[i]>str[i+1])
{
t=str[i];
____(5)____;
____(6)____; //交换位置
}
}

3.以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各元素值之和。(本程序中二阶矩阵用一维数组来表示。)

例如,矩阵为:
3 0 0 3
2 5 7 3
1 0 4 2
则所有靠外侧的各元素值之和为3+0+0+3+2+3+1+0+4+2=18。

add(int m,int n,int arr[])
{
for(i=0;i<m;i=i+m-1)
for(j=0;j<n;j++)
sum=sum+____(7)____;
for(j=0;j<n;j=j+n-1)
for(i=1;____(8)____;i++)
sum=sum+arr[i*n+j];
return(sum);
}

4.用指针作函数参数,编程序求一维数组中的最大和最小的元素值。
#define N 10
main()
{
void maxmin(int arr[],int *pt1,int *pt2,int n);
int array[N]={10,7,19,29,4,0,7,35,-16,21},*p1,*p2,a,b;
p1=&a;
p2=&b;
maxmin(array,p1,p2,N);
printf("max=%d,min=%d",a,b);
}

void maxmin(int arr[],int *pt1,int *pt2,int n)
{
int i;
*pt1=*pt2=arr[0];
for(i=1;i<n;i++)
{
if(arr[i]>*pt1)
____(9)____ ;

if(arr[i]<*pt2)
____(10)____ ;
}
}

答案
一 选择题(24分,每小题2分)
1.( B ) 2.( C ) 3.( B )
4.( D ) 5.( D ) 6.( A )
7.( D ) 8.( A ) 9.( D )
10.( B ) 11.( C ) 12.( D )
二 判断对错,对的划“√”,错的划“×”(20分,每小题2分)
1.( × ) 2.( √ )
3.( √ ) 4.( × )
5.( × ) 6.( √ )
7.( √ ) 8.( × )
9.( √ ) 10.( √ )
三 写出下列程序的运行结果(36分,每小题6分)
1.s=20
2.x=35 y=-4 s=-29
3.60,50,40,30,20,10,
4.e C pr*am
5.word value:1234
6.love China! H w l
high byte:12
low byte:34
word value:1274
the result:3ca8
四 阅读下列程序,在 处填入适当内容,使程序完整(20分,每个空2分)
1.(1) 3 (2) 2 (3)hm hl
2.(4) str (5) str[i]=str[i+1] (6) str[i+1]=t
3.(7) arr[i*n+j] (8) i<m-1
4.(9) *ptr1=arr[i] (10) *ptr2=arr[i]

8. 大一期末C语言考试的重点是什么

我上点选择题
1、以下不正确的描述为【 】。
(A) 调用函数时,实参可以是表达式
(B) 调用函数时,实参与形参可以共用内存单元
(C) 调用函数时,将为形参分配内存单元
(D) 调用函数时,实参与形参的类型必须一致
2、以下正确的叙述是【 】。
(A) C语言的主函数是无参函数
(B) C语言的主函数最多允许有1个形式参数
(C) C语言的主函数最多允许2个形式参数
(D) C语言的主函数可以有2个以上形式参数
3、C语言中函数返回值的类型是由【 】决定的。
(A) return语句中的表达式类型
(B) 调用该函数的主调函数类型
(C) 调用函数时临时
(D) 定义函数时所指定的函数类型
4、若x为int型变量,则以下函数fun【 】。
fun(int x)
{
printf("%d",x);
}
(A) 返回值为void类型
(B) 无法确定返回值
(C) 返回值为int类型
(D) 没有返回值
5、以下不正确的描述为【 】。
(A) 不同函数中可以使用相同名字的变量
(B) 形式参数是局部变量
(C) 一个函数内部定义的变量只能在本函数范围内逗旅有效
(D) 在一个函数内部的复合语句中定义的变量可以在本函数范围内有效
6、C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是【 】。
(A) 地址传递
(B) 值传递
(C) 由实参传给形参,并由形参传回来给实参 十
(D) 由用户指定传递方式
7、若用数组名作为函数调用时的实参,则实际上传递给形参的是【 】。
(A) 数组首地址
(B) 数组的第一个元素值
(C) 数组中全部元素的值
(D) 数组元素的个数
8、凡是函数中未指定存储类别的变量樱指升,其隐含的存储类别为【 】。//应该为局部变量
(A) 自动(auto)
(B) 静态(static)
(C) 外部(extem)
(D) 寄存器(register)
9、在C语言中,对于存储类型为【 】的变量,只有在使用它们时才占用内存单元。
(A) static和auto
(B) register和extern
(C) register和static
(D) auto和register
10、在一个源文件中定义的全局变量的作用域为【 】。
(A)本文件的全部范围
(B)本程序的全部范围
(C)本函数的全部范围
(D)从定义变量的位置开始至文件结束
11、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别为【 】。
(A)extern
(B)register
(C)auto
(D)static
12、以下不正确的描述为【 】。
(A)在函数之外定义的变量称为外部变量,外部变量是全局变量
(B)在一个函数中既可以使用本函数中的局部变量,又可以使用全局变量
(C)外部变量定义和外部变量说明的含义不同
(D)若在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量不起作用
13、以下正确的函数定义形式是【 】。
(A)double fun(int x,int y)
(B)double fun(int x; int y)
(C)double fun(int x,int y);
(D)double fun(int x,y);
14、以下说法正确的是【 】。
(A) 实参和与其对应的形参各占用独立的存储单元
(B) 实参和与其对应的形参共占用一个存储单元
(C) 只有当实参和与其对应的形参同名时才共用存储单元
(D) 形参是虚拟的脊老,不占用存储单元
15、若调用一个函数,且此函数中没有return语句,则正确的说法是【 】。
(A) 没有返回值
(B) 返回若干个系统默认值
(C) 能返回一个用户所希望的函数值
(D) 返回一个不确定的值
16、以下叙述正确的是【 】。
(A )定义函数时,形参的类型说明可以放在函数体内
(B) return后边的值不能为表达式
(C) 如果函数的类型与返回值类型不一致,以函数类型为准
(D) 如果形参与实参的类型不一致,以实参类型为准
17、以下程序有语法性错误,有关错误的原因的正确说法是【 】。
main( )
{int G=5,K;
void Prt_char();
……
K=Prt_char(G);
……
}
(A) 语句void prt_char();有错,它是函数调用语句,不能用void说明
(B) 变量名不能使用大写字符
(C) 函数说明和函数调用语句之间有矛盾
(D) 函数名不能使用下划线
18、以下正确的描述是【 】。
(A) 函数的定义可以嵌套,但函数的调用不可以嵌套
(B) 函数的定义不可以嵌套,但函数的调用可以嵌套
(C) 函数的定义和函数的调用均不可以嵌套
(D) 函数的定义和函数的调用均可以嵌套
19、以下说法正确的是【 】。
如果在一个函数中的复合语句中定义了一个变量,则该变量
(A) 只在该复合语句中有效
(B) 在该函数中有效
(C) 在本程序范围内均有效
(D) 为非法变量说明
20、以下程序的正确运行结果是【 】。
f(int a)
{int b=0; static int c=3;
b++; c++;
return(a+b+c);
}
main()
{int a=2,i;
for(i=0;i<3;i++) printf("%4d",f(a));
}

(A) 7 7 7 (B) 7 10 13
(C) 7 9 11 (D) 7 8 9

21、请选择正确的运行结果填入【 】中。
#include <stdio.h>

fun(int x,int y)
{static int m=0,i=2;
i+=m+1;
m=i+x+y;
return(m);
}
main()
{
int j=4,m=1,k;
k=fun(j,m);
printf("%d,",k);
k=fun(j,m);
printf("%d\n",k);
}

(A) 08, 20 (B) 8, 8 (C) 8, 17 (D) 8, 16
22、请选择正确的运行结果填入【 】中。
#include <stdio.h>
int x,y;
num( )
{
int a=15,b=10;
int x,y;
x=a-b;
y=a+b;
return;
}
main( )
{int a=7,b=5;
x=a+b;
y=a-b;
num( );
printf("%d,%d\n",x,y);
}
(A) 12,2 (B) 5,25 (C) 2,12 (D)不确定
一、填空题
1、一个C语言程序的语句至少应包含一个______。
2、C语言源程序文件的扩展名是______,经过编译、连接后,生成文件的扩展名是______。
3、结构化程序由顺序结构、______和______三种基本结构组成。
4、C语言的执行是从______开始执行的。
5、C源程序的语句分隔符是______。
6、在C语言中,用关键字______定义单精度实型变量。
7、表达式S=12应当读做“______”。
8、C语言源程序的基本单位是______。
9、设int x=9,y=8;表达式x-=y+1的结果是______。
10、若a为整型变量,a=12,则表达式:a * =2+3的值______。
11、调用C语言对输入输出处理的库函数时,在# include命令行中应包含的头文件是______。
12、表达式9%5的结果是______。
13、若a为整型变量,a=12,则表达式:a+=4的值______。
14、 在C语言中,要求运算数必须是整型的运算符是______。
15、在C语言中,用______表示逻辑“真”值。
16、7、表达式10/3的结果是______。
17、通常一个字节包含______个二进制位。
18、 假设所有变量均为整型,a=2,b=5,b++则表达式a+b的值是______。
19、在C语言中,最基本的数据类型只有四种,它们分别是:______、______、______和double。
20、一个C程序有且仅有一个______函数。
21、若a为整型变量,a=12,则表达式:a-=2的值______。
22、在C语言中,有三种逻辑运算符,它们分别是:______、______、______。
23、在C语言中,字符输入函数和字符输出函数分别是:______和______。
24、C程序开发的四个步骤是______、______、______和执行。
25、C程序的结构分别是:顺序结构、______、______。
26、if语句中的表达式可以是关系表达式、______、______。
27、______是C语言中惟一一个三元运算符。
28、C语言提供的预处理命令主要包括如下三种:宏定义、______、______。

9. 大学c语言有没有期末考试

大学c语言有期末考试。根据查询相关信息显示:C语言是一种计算机程序设计语言,具有高级语言的特点,汇编语言的特点,可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序,故大学c语言有期末考试。

10. c语言期末考多少分过

60分。c语言期末考的话要考60分才能通过,因为60分是及格分。