山东理工大学C语言PTA期末题库

合集下载

大学C语言期末考试练习题(带详解答案)

大学C语言期末考试练习题(带详解答案)

一、单项选择题1.( A)是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程2.C语言程序从C开始执行。

A) 程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数D) 包含文件中的第一个函数3、以下说法中正确的是(C)。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4。

下列关于C语言的说法错误的是(B)。

A)C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写.C)C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5。

下列正确的标识符是(C).A.-a1 B。

a[i] C。

a2_i D。

int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“—" ,选项B中“[”与“]"不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。

A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。

A)%x B)a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。

A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line#His。

c语言期末考试试题及答案

c语言期末考试试题及答案

c语言期末考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 以下哪个函数用于计算并返回字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A3. 若有以下代码段:```cint a = 10, b = 20;printf("%d", a + b);```输出结果是多少?A. 30B. 1020C. 10D. 20答案:A4. 在C语言中,以下哪个运算符用于逻辑“与”操作?A. &&B. ||C. !D. &答案:A5. 以下哪个选项是C语言中的合法整型常量?A. 0x1AB. 0b101C. 0o77D. 0xZZ答案:A6. 在C语言中,以下哪个函数用于打开文件?A. fopen()B. fclose()C. remove()D. rename()答案:A7. 若有以下代码段:```cint x = 5;printf("%d", x++);```输出结果是多少?A. 5B. 6C. 0D. 1答案:A8. 在C语言中,以下哪个关键字用于声明一个指针?A. intB. floatC. *D. double答案:C9. 以下哪个选项是C语言中的合法浮点型常量?A. 3.14e2B. 3.14eC. 3.14ED. 3.14E+答案:A10. 在C语言中,以下哪个函数用于释放动态分配的内存?A. malloc()B. calloc()C. realloc()D. free()答案:D二、填空题(每题2分,共20分)1. C语言中,用于定义一个函数的关键字是________。

答案:void2. 字符串"Hello, World!"的长度是________。

c语言期末考试试题及答案解析

c语言期末考试试题及答案解析

c语言期末考试试题及答案解析一、单项选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A解析:在C语言中,关键字`struct`用于定义一个结构体。

2. 下列哪个选项是C语言中的合法整型常量?A. 0x12B. 0x1.2C. 0x1GD. 0x1.2E+3答案:A解析:选项A中的`0x12`是一个合法的十六进制整型常量,而B、C、D选项中的表示形式不符合C语言中整型常量的表示规则。

3. C语言中,以下哪个函数用于计算两个数的最大值?A. max()B. pow()C. sqrt()D. abs()答案:A解析:`max()`函数用于计算两个数的最大值,而`pow()`用于计算幂,`sqrt()`用于计算平方根,`abs()`用于计算绝对值。

4. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. goto答案:D解析:`goto`语句虽然在C语言中存在,但它并不是一个控制语句,而是一个无条件跳转语句。

5. C语言中,以下哪个选项是合法的数组声明?A. int a[5] = {1, 2, 3, 4, 5};B. int a[5] = {1, 2, 3};C. int a[] = {1, 2, 3, 4, 5};D. int a[5] = {1, 2, 3, 4};答案:C解析:选项C中的声明是合法的,因为它允许数组的大小在编译时确定,而其他选项中数组的初始化元素个数与声明的大小不一致。

6. C语言中,以下哪个选项是合法的函数声明?A. int func();B. int func(int a);C. int func(int);D. int func();答案:B解析:选项B是合法的函数声明,因为它明确了函数的返回类型和参数类型。

选项A和D没有指定参数类型,选项C虽然指定了参数类型,但没有指定参数名。

山东理工大学C语言PTA期末程序题

山东理工大学C语言PTA期末程序题

1.从键盘输入某圆锥的底面半径和高的值,编程求其侧面积并输出(结果保留2位小数)。

其中圆周率取3.14159。

输入格式:输入两个实数代表圆锥的底面半径和高(以空格间隔)输出格式:输出一个实数(保留2位小数)#include<stdio.h>#include<math.h>#define PI 3.14159int main(void){float r,h,s,d;scanf("%f%f",&r,&h);d=sqrt(r*r+h*h);s=r*PI*d;printf("%.2f\n",s);return 0;}2.在匀加速直线运动中,已知初速度、加速度和时间的值,编程序求出相应的位移并输出(保留2位小数)。

输入格式:依次输入初速度、加速度、时间的值(以空格间隔)。

输出格式:一个实数(保留2位小数)。

#include<stdio.h>int main(){double v,g,t,x;scanf("%lf%lf%lf",&v,&g,&t);x=v*t+g*t*t/2;printf("%.2f",x);return 0;}3.从键盘输入5个实数,求出每个数的离均差并输出结果(保留2位小数)输入格式:输入5个实数(以空格间隔)输出格式:输出5个实数(保留2位小数,以空格间隔)#include<stdio.h>#include<math.h>int main(){float a,b,c,d,e,sum,s,x,y,m,n,p;scanf("%f%f%f%f%f",&a,&b,&c,&d,&e);sum=a+b+c+d+e;s=sum/5;x=a-s;y=b-s;m=c-s;n=d-s;p=e-s;printf("%.2f %.2f %.2f %.2f %.2f",x,y,m,n,p);return 0;}4.从键盘输入一个小写字母,把它转换成相应的大写字母,最后输出转换之后的字符及其十进制ASCII码。

山理工c语言复习题

山理工c语言复习题

山理工c语言复习题C语言是一种广泛使用的计算机编程语言,以其高效和灵活的特点在软件开发、系统编程等领域有着重要的地位。

以下是一些山理工C语言复习题,供同学们复习使用:一、选择题1. C语言中,以下哪个关键字用于定义一个函数?- A. int- B. if- C. while- D. void2. 以下哪个是C语言中的合法变量名?- A. 2variable- B. variable-name- C. variable#name- D. variable_name3. 在C语言中,哪个运算符用于求两个数的余数?- A. %- B. /- C. *- D. -4. 以下哪个语句可以用来实现循环结构?- A. if- B. switch- C. for- D. do-while5. 在C语言中,以下哪个函数用于将整数转换为字符串?- A. atoi- B. itoa- C. toupper- D. strcpy二、填空题1. C语言中,一个基本的数据类型包括_______、_______、_______等。

2. 定义一个整型变量的关键字是_______。

3. 在C语言中,数组的下标从_______开始。

4. 函数的返回值类型定义在函数名的_______。

5. 字符串在C语言中以_______字符结尾。

三、简答题1. 简述C语言中指针的概念及其作用。

2. 解释C语言中结构体(struct)的用途和定义方法。

3. 描述C语言中函数的调用过程和参数传递方式。

四、编程题1. 编写一个C语言程序,实现输入两个整数,输出它们的和、差、积、商。

2. 编写一个函数,该函数接受一个字符串作为参数,返回字符串中字符的数量。

3. 编写一个程序,使用数组存储10个学生的分数,并计算平均分。

希望这些复习题能够帮助同学们更好地掌握C语言的基本知识和编程技巧。

在复习过程中,不仅要理解每个概念,还要通过实践来加深理解。

祝同学们学习进步!。

大学c语言期末考试试题及答案

大学c语言期末考试试题及答案

大学c语言期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是正确的数据类型?A. intB. floatC. doubleD. A、B、C都是答案:D2. 下列哪个选项不是C语言的运算符?A. %B. &&C. ||D. =答案:D3. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. all of the above答案:D4. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. _variableD. B和C5. 在C语言中,以下哪个选项用于定义一个指针?A. int *p;B. int *p = 0;C. int p*;D. A和B答案:D6. 下列哪个选项是C语言中的字符串字面量?A. "Hello"B. 'Hello'C. "Hello" + "World"D. A和B答案:A7. C语言中,以下哪个选项是正确的数组声明?A. int arr[5] = {1, 2, 3};B. int arr[] = {1, 2, 3};C. int arr[3] = {1, 2, 3, 4, 5};D. A和B答案:D8. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > 0)B. if x > 0C. if (x > 0) elseD. A和B答案:A9. 下列哪个选项是C语言中的循环结构?B. whileC. do-whileD. A、B和C答案:D10. 在C语言中,以下哪个函数用于计算两个数的和?A. printf()B. scanf()C. sum()D. A和B答案:C二、填空题(每题2分,共20分)1. 在C语言中,____关键字用于定义一个结构体。

答案:struct2. 要定义一个指向整型变量的指针,可以使用____声明。

c语言大一期末考试题库及详解答案

c语言大一期末考试题库及详解答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 以下哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. while答案:B3. 在C语言中,以下哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A4. 以下哪个函数用于将字符串复制到另一个字符串?A. strcatB. strcpyC. strcmpD. strlen答案:B5. 在C语言中,以下哪个数据类型用于存储浮点数?A. intB. floatC. charD. double答案:B6. 以下哪个选项不是C语言中合法的变量名?A. _myVarB. my_varC. 2myVarD. my_var2答案:C7. C语言中,以下哪个函数用于计算数组中元素的个数?A. sizeofB. countC. lengthD. size答案:A8. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. functionD. def答案:A9. 以下哪个选项不是C语言中合法的注释?A. // This is a commentB. /* This is a comment */C. /* This is a comment */D. // This is a comment答案:C10. 在C语言中,以下哪个关键字用于定义一个指针?A. ptrB. pointerC. *D. ref答案:C二、填空题(每题2分,共20分)1. C语言中,定义一个整型变量的关键字是________。

答案:int2. 用于定义一个字符变量的关键字是________。

答案:char3. C语言中,用于定义一个浮点型变量的关键字是________。

答案:float4. 在C语言中,________运算符用于比较两个数是否相等。

大学c语言期末考试题及答案

大学c语言期末考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个是正确的标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. 下列哪个选项是C语言中的整型常量?A. 0.5B. 0x1AC. 1.2E-3D. "123"答案:B3. C语言中,以下哪个是正确的一维数组声明?A. int a[];B. int a[10];C. int a = 10;D. int a = {1, 2, 3};答案:B4. 下列哪个选项是C语言中的合法字符串?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!", "Another String"D. "Hello, World!"答案:A5. C语言中,以下哪个是正确的函数声明?A. int function();B. int function int x;C. int function(int x);D. int function x(int);答案:C6. C语言中,以下哪个是正确的条件语句?A. if x > 0printf("Positive\n");B. if x > 0 thenprintf("Positive\n");C. if (x > 0)printf("Positive\n");D. if x > 0 thenif x < 0printf("Negative\n");答案:C7. C语言中,以下哪个是正确的循环语句?A. for i = 0; i < 10; i++printf("%d ", i);B. for i = 0; i < 10; i++printf("%d ", i);C. for (i = 0; i < 10; i++)printf("%d ", i);D. for i in 0..10printf("%d ", i);答案:C8. C语言中,以下哪个是正确的指针声明?A. int *p = 0;B. int *p = "Hello";C. int *p = 5;D. int *p = 10.5;答案:A9. C语言中,以下哪个是正确的结构体声明?A. struct Student {int id;char name[50];};B. struct Student student;C. struct Student {int id;char name;};D. struct Student {int id;char name[50];} student;答案:D10. C语言中,以下哪个是正确的宏定义?A. #define PI 3.14159B. #define PI 3.14159C. #define PI = 3.14159D. #define PI 3.14159;答案:A二、填空题(每题2分,共20分)1. C语言中,基本数据类型包括______、______、______、______、______、______、______、______。

程序设计基础(C语言)复习题山东理工大学

山东理工大学成人高等教育程序设计基础(C语言)复习题一、填空题1、一个C程序总是从函数开始执行,并在其中结束。

2、C语言的函数由和两部分组成。

3、在C语言中,字符串“ABDEF”的长度是。

4、C语言的一个源程序有且只有一个函数,C函数由、两部分组成。

5、C语言的数据类型转换有两种,它们是自动转换和。

6、C语言变量名中的字符有之分。

7、求a、b较大值的条件表达式是。

8、表达式5+6<8 的值是。

9、已知整型变量i的值是24,则表达式i%5的值是10、C语言数组下标的最小值是。

11.C语言的标识符只能由字母、数字和组成。

12.有符号整数在内存中是以二进制码形式存储的。

13.若有int n=3.96;则n的结果为。

二、判断题1.一个C语言程序总是从main()函数开始执行的。

( )2.C语言中不区分字母的大小写。

( )3.'a'和'\n'都是字符型常量。

( )4.5%3的结果是2。

( )5.在C语言中表示逻辑运算结果时,以1表示真,以0表示假。

( )三、阅读理解程序,写出输出结果1、设有以下程序:main( ){ int i, a[10];for (i=0;i<10;i++) a[i]=i ;printf(“%d %d %d”,a[1],a[2],a[3]); }输出结果:2、设有以下程序:main( ){ int i=1,sum=0;while (i<=5) { sum=sum+i; i++;}printf(“i=%d, sum=%d” ,i,sum);}输出结果:3、设有以下程序:main( ){ int a,b,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m; b=(*p1)/(*p2)+7;printf(“a=%d,b=%d”,a,b);}输出结果:4、设有以下程序:main(){ int x,y,m,n; m =10; n=13; x=--m; y=n--;printf(“%4d%4d%4d%4d”,m,n,x,y);}输出结果:5、main() 运行结果为:{int f[6]={1,2,3,4,5,6},i;for(i=5;i>=0;i--)printf("%d\n",f[i]);}6、main() 运行结果为:{int a=6,b=3,t;t=a;a=b;b=t;printf("%d,%d\n",a,b);}四、程序填空1、用子函数的方式求两个数的和。

山东理工大学期末考试C语言试题2

参考程序:
main()
{ int x,y,z;
for(i=1;i<=20;i++)
for(y=1;y<=33;y++)
for(z=1;z<=100;z++)
if((x+y+z==100)&&(x*5+y*3+z*0.5==100))
{
printf("公鸡:%d\n",x);
printf("母鸡:%d\n",y);
6.花括弧7.递归8.文件包含9.break 10.5
三、写出下列程序的运行结果(20分)每小题5分,部分正确,错一个数据扣1分。
1.(5分)
100,200,200,100
2.(5分)
3,2,1,6
3.(5分)
0122
4.(5分)
1,2,5,7
四、补足下列程序或函数(20分,每个空1分,不影响程序结果的其它答案也视为正确答案)
printf("小鸡:%d\n",z);
}
}
五、编程序(40分)1)按程序模块得分:程序框架和数据输入模块20%;核心功能模块70%;输出模块10%。
2)每处语法错误扣1分,类似语法错误不累积扣分,逻辑错误酌情扣分。
1、(15分,按实现功能得分)
参考程序:
#include“math.h”
main()
{float x,y;
scanf("%f",&x);
适用专业
2008级理科
考核性质
考试
闭卷
命题教师
考试时间
100分钟
题号
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.指针变量中保存的不一定是一个地址。

F
2.指针变量中保存的肯定是一个地址。

T
3.c语言的每个函数都可以用return语句返回一个返回值。

F
4.C语言中变量名r和R表示同一个变量。

F
5.c语言每个函数的返回值都是int型的。

F
6.C语言中的变量名属于标识符。

T
7.函数pow(x,y)的作用是计算y的x次方。

F
8.while循环的循环体最少要执行一次。

F
9.switch语句中default语句是必须的。

F
10.若有定义:int a[3][4];则a['b'-'a'][2]是对a数组元素的正确引用。

T
11.fprintf(fp,"%d",a);表示将变量a以十进制整数形式保存到指针fp所指向的文件中。

T
12.可以把一个整型数据赋给一个实型变量。

T
13.若有定义:char ch='\105’;则变量ch中包含4个字符。

F
14.main函数必须位于其他函数之前。

F
15.以数组名作函数参数时,数据传递的方向是“双向的”,因此我们可以说,在此情况下,函数带回的返回值可能不止一个。

F
16.对于定义int a[5],*p=a;后,*(p+1)和*(a+1)的值是相同的。

T
17.C语言中3/2的值是1。

T
18.数组初始化时,初始值个数小于数组元素的个数,C语言自动将剩余的元素初始化为初始化列表中的最后一个初始值。

F
19.scanf(fp,"%c",&ch);表示从指针fp所指向的文件中读出一个字符并保存到变量ch中。

F
20.假设有float f=7;则f%2的值为1。

F
1.以下正确的描述是()。

A.如果函数值类型与返回值类型不一致,应以函数值类型为准。

B.如果形参和实参的类型不一致,应以实参类型为准。

C.return语句后不能是表达式。

D.定义函数时,可以省略不写形参的类型,只写形参名。

2.以下程序有语法性错误,
int main(void)
{int N=3,k;
void fun1(); //函数声明

k=fun1(N); //函数调用
...}。

有关错误原因的正确说法是()。

A.语句void fun1();有错,它是函数调用语句,不能用void说明。

B.函数声明语句不应该放在这里。

C.函数说明和函数调用语句之间有矛盾
D.变量名不能使用大写字母
3.设有程序段:
int k=10;
while(k=0) k=k-1;
这下面描述中正确的是()。

A.循环体语句执行一次
B.while循环执行10次
C.循环是无限循环
D.循环体语句一次也不执行
4.已知int x=10,y=20,z=30;以下语句:if(x<y) z=x; else x=y; y=z;执行后x,y,z的值是()。

A.x=20, y=30, z=30
B.x=10, y=10, z=10
C.x=20, y=30, z=10
D.x=20, y=20, z=20
5.变量的指针,其含义是指该变量的(D)。

A.一个标志
B.名
C.值
D.地址
6.若有以下定义,int a[5],*p=a; 则对a数组元素的正确引用是()。

A.*(p+5)
B.a+2
C.*(a+2)
D.*&a[5]
7.若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是(A)。

A.scanf("%d%d%d",&a,&b,&c);
B.read a,b,c;
C.scanf("%d%d%d",a,b,c);
8.若函数定义如下,int fun(float a)
{float b=a+3;
return b;
} 假设将常数3.6传给a,则函数的返回值是(D)。

A.5
B.3
C.6.6
D.6
9.若有以下定义,int a[10],*p=a; 则p+5表示(B)。

A.元素a[6]的地址
B.元素a[5]的地址
C.元素a[6]的值
D.元素a[5]的值
10.若变量已定义为float类型,要通过以下赋值语句scanf("%f,%f",&a,&b);给a赋值为11,给b赋值为22,以下正确的输入形式是(A)。

A.11,22
B.11&22
C.11:22
D.11 22
三、程序填空题
四、函数题
五、编程题。

相关文档
最新文档