c语言期末复习
⑴ 大一期末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语言提供的预处理命令主要包括如下三种:宏定义、______、______。
⑵ C语言期末题。帮忙做做。
第五题应芦大该锋哗知为B,不银消会是C的
第六题选B!b是地址常量,哪能被赋值撒!
第十题选A!从case1开始执行,b就加了一次
⑶ 要期末考试了,怎么速学复习c语言程序设计
首先用1~3天的时间,把C语言的基本语法、基本类型等过一遍。比如指针啊,数组啊,指针的指针啊等等。除非平时一点都没听,否则3天之内应该是可以吧这些内容熟悉一遍的。
剩余的时间,预留3天做做题。其余时间全部放到数据结构和基本算法的研究上。比如链表、排序算法等。
一般考试就是理论和编程。在学校应该是偏理论。所以先过一遍理论,然后再通过练习加深理论。
祝你好运了
⑷ C语言期末考试编程题
1输入两个整数a和b,若a和b的平方和大于100,则输出平方和的百位以上的数字,否则输出a和 b的和。
要求: 1)输出结果时说明平方和是大于100还是小于100( >100或<100 )
#include<stdio.h>
int main(){
int a, b, c;
scanf("%d%d", &a, &b);
c = a * a + b * b;
if(c > 100) printf("平方和大于100\n%d\n", c%100);
else printf("平方和小于等于100\n%d\n", a + b);
return 0;
}
2输入一个整数,判断是否是5和7的公倍数,若是则输出:5and7yes,否则再判断是否是3的倍数,若是3的倍数输出:3yes,若都不是则输出:no
#include<stdio.h>
int main(){
int input;
scanf("%d", &input);
if(input % 5 == 0 && input % 7 == 0)printf("5and7yes\n");
else if(input % 3 == 0) printf("3yes\n");
else printf("no\n");
return 0;
}
第三,四题和第二题差不多
5计算公式: [ 2*x x=2
y= [ x*x+1 x<2
[ 2*x*x+3*x+1 x>2
要求: 1)从键盘输入x的值,根据x的值求y的值
2)输出y的值
#include<stdio.h>
int main(){
int x, y;
scanf("%d", &x);
if(x == 2) y = 2*x;
else if(x < 2) y = x*x+1;
else y = 2 * x * x + 3 * x + 1;
printf("%d\n", y);
return 0;
}
8 和7差不多
下面原理都差不多 用if基本都能搞定 判断条件就行了 应该LZ能搞定了 东西有点多 -。- 就写这些吧 其他的就不一一写了^ ^
⑸ c语言复习题
以下答案仅作参考,希望通过你的思考后对你有所帮助。
一、
1、函数
2、源程序一般是.c或者.cpp
头文件是.h
编译后是.obj
链接后是.exe
3、分支结构、循环结构
4、从主函数开始执行,即main()函数开始
5、分隔符为分号 即 ;
6、float
7、把12赋值给变量S
8 基本单位是函数
9、0
10、60
11、stdio.h
12、4
13、16
14、%
15、非0
16、3
17、8
18、8
19、int 、char 、float
20、main()
21、10
22、与运算符:&&;或运算符:||;非运算符:!
23、getchar(); putchar();
24、输入与编辑源程序--对源程序进行编译--与库函数连接--运行可执行的目标程序
25、分支结构、循环结构
26、逻辑表达式、条件表达式
27、?:
28、文件包含、条件编译
二、
1、结果:2 因为:if(a<b)不成立,所以下面语句都不执行。结果为C的初值,也就是2。
2、结果:K 因为A+10后,也就是到了K
3、a ,97 因为‘a’所对应的整数是97
4、没有结果输出。原因两个条件都不成立。
三、
1、
#include <stdio.h>
void main()
{ int a,b,c;
printf("请输入三个整数:");
scanf("%d%d%d",&a,&b,&c);
if(a<b) a=b;
if(a<c) a=c;
printf("最大的数:%d",a);
}
2、
#include <stdio.h>
void main()
{ int sum=0,i;
for(i=1;i<=50;i++)
sum+=i;
printf("1—50的和为:%d",sum);
}
3、
#include <stdio.h>
void main()
{ char c;
printf("请输入一个大写字母:");
scanf("%c",&c);
printf("\n它的小写字母为:%c",c+32);
}
4、
#include <stdio.h>
void main()
{ float sum=0,temp;
int i=1;
while(i<=100)
{temp=1/i;
sum+=temp;
i++;
}
printf("结果为:%f",sum);
}
5、
#include <stdio.h>
void main()
{int a,b;
printf("请输入两个整数:");
scanf("%d%d",&a,&b);
printf("大的数是:%d",a>b? a:b);
}
6、
#include <stdio.h>
void main()
{int i=1;
float sum=0,temp=0;
while(i<=99)
{temp=1/i;
sum+=temp;
i=i+2;
}
printf("结果为:%f",sum);
}
⑹ 大一C语言期末考试求题库
一、单项选择题(共10题,每题2分,共20分。在备选答案中选择一个最佳答案。多选、错选、不选不得分)
1、不是C语言基本数据类型的是( )。
A、指针类型 B、整型
C、字符型 D、实型
2、设有:int a=3, b= 4, c= 5,x , y; 表达式0 && (x=a)&&(y=b)的值为( )。
A、1 B、0 C、3 D、4
3、设有语句 int a=3 ; 则执行了语句 a+=6;后,变量a 的值为( )。
A、18 B、-3 C、9 D、12
4、执行以下程序段后,输出的y值为( )
void main()
{ int a[]={2,4,6,8,10};
int y, *p;
p=&a[0];
y=*p; printf(“%d”,y);
}
A、2 B、4 C、6 D、8
5、有定义语句:float a[4];则分配给数组a的内存空间为( )字节。
A、 20 B、 12 C、 16 C、10
6、以下描述错误的是( )。
A、break语句可用于while语句。
B、break语句和continue语句的作用是一样的。
C、在循环语句中使用break语句是为了跳出循环,提前结束循环。
D、在循环语句中使用continue语句是为了结束本次循环,而不终止整个循环。
7、C语言中规定,if语句的嵌套结构中,else总是( )。
A、与最近的if 配对 B、与第一个if 配对
C、按缩进位置相同的if配对 D、与最近的且尚未配对的if 配对
8、说明语句“int (*p)( ); ”的含义是( ) 。
A、p是一个指向一维数组的指针变量。
B、p是指针变量,指向一个整型数据。
C、p是一个指向函数的指针,该函数返回一个int型数据。
D、以上都不对。
9、以下对二维数组c的正确声明是 ( ) 。
A、int c[3][ ]; B、int c(3,4);
C、int c(2)(2); D、int c[3][2];
10、下述程序段执行后输出结果为( )。
int x=100, y=200;
printf ("% d", (x, y));
A、100 B、200 C、100,200 D、编译出错
二、填空题(共7题,共10空,每空1分,共10分。将答案填在题中横线上)
1、C语言提供的三种逻辑运算符是 && 、 || 和!;
2、函数的返回值是通过函数中的 return 语句获得的。
3、在"int a[ ][3]={{1},{3,2},{4,5,6},{0}};"定义后,a[2][2]的值为_6__ _;
4、对于"int *pa[5];" pa是一个具有5个元素的_数组指针_,每个元素是一个指向int型变量的__指针__;
5、单向链表的尾节点next指针应赋值__ NULL___;
6、在语句for(x=1,y=3;x>y;y++)中循环体执行的次数为 0 。
7、int a[5];数组a的首地址为2000,则元素a[1]的地址为 2002 ,元素a[2]的地址为 2004 。
三、程序填空题(共2题,共5空,每空4分,共20分)
1、以下程序完成计算1-1/2+1/3-1/4+1/5+……前n 项和,请填空。
#include <stdio.h>
int main( )
{ int i, n, flag;
float sum;
scanf("%d", &n);
flag= 1 ;
sum=0;
for(i=1;i<=n; i++ )
{ sum+=(float)flag/i;
flag=-flag ;
}
printf("%.3f\n", sum);
}
2、以下程序的功能是从键盘输入n个整数,统计其中正数、0、负数的个数,请填空。
#include <stdio.h>
void main( )
{int a, i, count1,count2,count3;
count1=count2=count3=0 ;
for(i=1;i<=n;i++)
{ scanf(“%d”, &a);
if(a>0) count1++;
else if(a==0) count2++ ;
else count3++;
}
printf(“正数:&d个,零:%d个,负数:%d个\n”, count1,count2,count3 );
}
四、运行程序结果题(共4题,每题6分,共24分)
1、写出程序运行结果。
void main( )
{ int x=1,y=2,t;
int *p1,*p2;
p1=&x; p2=&y;
t=*p1;*p1=*p2;*p2=t;
printf("x=%d,y=%d\n",x,y);
}
运行结果为:
程序有错,不能运行!或写:
x=2,y=1
2、写出程序运行结果。
#include<stdio.h>
int max(int a,int b)
{ int c;
c=a>b?a:b;
return(c);
}
int min(int a,int b)
{int c;
c=a<b?a:b;
return(c);
}
void main()
{ int a=2,b=6;
printf("max=%d\n",max(a,b));
printf(“min=%d\n”,min(a,b));
}
运行结果为:
程序有错,不能运行!或写:
max=6
min=2
3、写出程序运行结果。
#include <stdio.h>
void main()
{ int a[3][3]={1,2,3,4,5,6,7,8,9};
int i,j,sum=0;
for (i=0;i<3;i++)
for(j=0;j<3;j++)
if(i==j) sum=sum+a[i][j];
printf(“sum=%d\n”,sum);
}
运行结果为:
程序有错,不能运行!或写:
sum=15
4、写出程序运行结果。
void main( )
{ int n,f;
n=1;
while(n<=10)
{ f=f*n;
n+=2;
}
printf(“f=%d\n”,&f);
}
运行结果为:
程序有错,不能运行!或写:
f=不确定
五、程序设计题(共2题,每题13分,共26分)
1、将一个数组按逆序存放,如元素1、2、3、4、5,按逆序存放后为5、4、3、2、1。
⑺ 大一C语言期末考试的试题大概是什么样子的主要考什么
主要考程序阅读题,重点在c语言函数、指针、庆模态数组应用几个方面,要掌握基础的编程码岩方法,比如排序基本算法,后面要誉源编程序的
⑻ 急,C语言期末考试题
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 50
void reverse(int a[],int n) {
int i,t;
for(i = 0; i < n/2; ++i) {
t = a[i];
a[i] = a[n - 1 - i];
a[n - i - 1] = t;
}
}
void show(int a[],int n) {
带盯丛int i,cnt = 0;
for(i = 0; i < n; ++i) {
if(i && i%10 == 0) printf(" ");
printf("%3d",a[i]);
++cnt;
}
printf(" ");
if(cnt%10) printf(" ");
}
int main() {
int i,a[N];
srand(time(NULL));
for(i = 0; i < N; ++i)
a[i] = rand()%100;
蠢樱printf("逆置之前: ");
show(a,N);
reverse(a,N);则凯
printf("逆置之后: ");
show(a,N);
return 0;
}