(完整版)程序设计基础试题_07_答案
c语言《程序设计基础》课后习题参考答案与解析
![c语言《程序设计基础》课后习题参考答案与解析](https://img.taocdn.com/s3/m/abfc4e8e453610661fd9f47a.png)
c语言《程序设计基础》课后习题参考答案与解析《程序设计基础》习题参考答案与部分解析第1章 C 语言概述一、填空a) C源程序的基本单位是函数。
b) 一个C程序中至少应包括一个 main函数。
c) 在C语言中,输出操作是有库函数 printf( )函数完成。
二、单选题1、A2、C3、B解析:第1题答案:A 。
因为一个C程序总是从main函数开始执行的,而不论main函数在程序中的位置。
且到main函数结束。
第2题答案:C 。
因为 main函数没有限制必须位于程序的最前面。
C程序书写自由,一行内可写几个语句。
在对一个C 程序进行编译的过程中,无法检查注释当中的拼写错误。
不过C语言本身并没有输入输出语句,输入输出是由函数完成的。
第3题答案:B。
因为一个C语言程序是由若干个函数组成的。
但至少包含一个main 函数,且main函数的位置不限。
三、编程题1、编写一个输出“Welcome to C!”信息的小程序。
解:程序如下#include “stdio.h”main( ){1printf(“Welcome to C!”) ;}2、已知三角形的三边长分别为3,4,5,试用海轮公式编程求其面积。
海伦公式为:S?= ,其中s= (a+b+s)/2 ;解:程序如下#include “math.h”#include “stdio.h”main( ){int a , b , c ; /* a ,b,c 3个整型变量表示三角形的3条边。
*/float s ,s1 ; /* s1作为面积变量,s 作为中间变量是都应该是实形*/a=3 ; b= 4; c=5 ;s= (a+b+c)/2.0 ;s1= sqrt(s*(s-a)*(s-b)*(s-c)); /* sqrt函数完成开平方根功能。
*/printf(“area=%f\n”,s1);}2第2章程序设计基础知识一、单选题1、C2、A3、C4、A5、C6、C7、D8、C9、D 10、A 11、D 12、A 13、C 14、C 15、B A 16、B 17 D解析:1. 答案:C。
《C语言程序设计》试题七及答案
![《C语言程序设计》试题七及答案](https://img.taocdn.com/s3/m/2da80ee40b4c2e3f5627638f.png)
《C语言程序设计》试题七 (1)一、填空题 (1)二、选择题 (2)三、判断题 (3)四、程序填空题 (4)五、阅读程序,写出下列程序段的结果 (5)六、编程题 (6)《C语言程序设计》试题七答案 (7)《C语言程序设计》试题七一、填空题1.在C语言程序设计中,正确的标识符是由____________________组成的。
2.设x=4,y=(++x)+(++x);那么y的值为_____,表达式执行后,变量x的值为_______。
3.一个变量的指针是指_____________________________________________。
4.能够构成一个数组,其元素满足的特点是__________________________________;那么,构成结构体的成员可以是_________________________________________。
5.下面运算符< % ++ = 按照优先级从高到低排列顺序为______________。
6.C程序设计中语句后的符号/*……*/ 所起作用是_________________________。
7.写出下面表达式的值3*5/7+7%3____________________ x=2 ; y=4; (x++)+y _____________________ 3+4>=7-10_____________________ 3>4 ? 3%2: 1 ___________________x=2,y=2;++x||++y_______________ x=3 ; x+=x-=2 _____________________二、选择题⑴.在使用TurboC2.0环境编辑程序时,运行某程序使用的菜单项为()A.FILE B.RUN C.EDIT D.OPTION⑵.下列语句不具有赋值功能的是()A.a*=b B.x=1 C.a+b D.a++⑶.C语言程序中,当出现条件分支语句if~else时, else与()组成配对关系A.同一复合语句内部的if B.在其之前任意的ifC.在其之前未配对的最近的if D.首行位置相同的if⑷.下列数组定义方式不正确的语句是()A.char x[5]; B.char y[]={‘h’, ‘e’, ‘l’, ‘l’, ‘o’};C. int x[10]={12,13,14,15}; D.int y[];⑸. 若有如下定义和语句,且0<=i<5,下面()是对数值为3数组元素的引用int a[]={1,2,3,4,5},*p,i;p=a;A. *(a+2) B.a[p-3] C.p+2D.a+3⑹. 下列()表达式的值为真a=5; b=8; c=10; d=0A.a*2>8+2 B.a&&d C. (a*2-c)||d D.a-b<c*d⑺. 下列字符数组长度为5的是() A. char a[]={‘h’, ‘a’, ‘b’, ‘c’, ‘d’};B. char b[]= {‘h’, ‘a’, ‘b’, ‘c’, ‘d’, ‘\0’};C. char c[10]= {‘h’, ‘a’, ‘b’, ‘c’, ‘d’};D. char d[6]= {‘h’, ‘a’, ‘b’, ‘c’, ‘\0’ }⑻. 执行下列程序后,其结果为()int a[]={2,4,6,8,10,12}; *p;p=a;*(p+4) =2;printf(“%d,%d\n”,*p,*(p+4));A.0,10 B.0,2 C.2,10 D.2,2⑼.有下列结构体,对该结构体变量stu的成员项引用不正确的是()struct student{ int m;float n;} stu ,*p;A. stu.n B.p->m C.(*p).m D.p.stu.n ⑽.下列函数中不能用于对文件进行输入输出操作的是()A.fscanf( ) B.printf( ) C.fgetc( ) D. fputs( )三、判断题1.C语言程序设计可以对计算机硬件进行操作。
程序设计基础练习题(全答案版)
![程序设计基础练习题(全答案版)](https://img.taocdn.com/s3/m/bd7b57fdb8f67c1cfad6b8a0.png)
《程序设计基础——C#.NET》练习参考答案:一、选择题的目的就是将____A____作为新一代操作系统的基础,对互联网的设计思想进行扩展。
A.互联网 B. Windows C. C# D. 网络操作系统2.假设变量x的值为10,要输出x值,下列正确的语句是__C__。
A.System.Console.writeline(“x”) B. System.Cosole.WriteLine(“x”)C. System.Console.WriteLine(“x={0}”,x)D. System.Console.WriteLine(“x={x}”)3.要退出应用程序的执行,应执行下列的_A___语句。
A. Application.Exit();B. Application.Exit;C. Application.Close();D. Application.Close;4.关于C#程序的书写,下列不正确的说法是__D________。
A.区分大小写B.一行可以写多条语句C.一条语句可以写成多行D.一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法5. 在C#语言中,下列能够作为变量名的是__C__。
A.if B. 3ab C. b_3a D. a-bc7. 能正确表示逻辑关系“a≥5或a≤0”的C#语言表达方式是__D__。
A.a>=5 or a<=0 B. a>=5|a<=0 C. a>=5&&a<=0 D. a>=5||a<=08. 以下程序的输出结果是___C_____。
A. 5B. 4C. 6D. 不确定9. If语句后面的表达式应该是__A___。
A.逻辑表达式 B. 条件表达式 C. 算术表达式 D. 任意表达式10.有如下程序:该程序的输出结果是__A___。
A. a=0,b=1B. a=1,b=1C. a=1,b=0D. a=2,b=211.以下叙述正确的是__D___。
2007级程序设计基础(一)期末考试参考答案A卷
![2007级程序设计基础(一)期末考试参考答案A卷](https://img.taocdn.com/s3/m/5a48f522bcd126fff7050bc2.png)
2007级《程序设计基础(一)》期末考试参考答案(A卷)一、单选题:(每题1分,共20分)1. D2. A3. C4. B5. A6. C7. D8. A9. D10. B11. B12. B13. A14. B15. C16. B17.C 18. D19. C 20. C二、程序阅读题:(每题4分,共24分)1.j=82. 2 4 0 8 103.9*7*8*5*3*4.before swap a[0]=5,a[1]=7after swap a[0]=5,a[1]=75.61231116. 0 3 6 91 4 7 102 5 8 113 6 9 12三、改错题:(每题5分,共15分)1.#include <stdio.h> -----------1分void fun(char s[],char c); -----------1分void fun(char s[],char c) -----------1分{int i,j;for(i=j=0;s[i];i++)if(s[i]!= c)s[j++]=s[i]; ----------1分s[j]='\0'; ----------1分}2.#include <stdio.h>int plus(int ,int); ----------0.5分void main(){int x,y,z; ----------1分scanf("%d,%d",&x,&y); ----------1分z=plus(x,y); ----------0.5分printf("The sum is %d",z);}int plus(int a,int b) ----------1分{int c; ----------1分c=a+b;return c;}3.#include <stdio.h>int fun(float x[],int n){int i,c=0; ----------1分float xn=0; ----------1分for(i=0;i<n;i++)xn=xn+x[i]/n; ----------1分printf("average=%.2f\n",xn); ----------1分for(i=0;i<n;i++)if(x[i]>=xn) ----------1分c++;return c;}四、程序填空:(每空2 分,共16分)⑴flag*1.0/k ⑵flag*=-1(或flag=-flag)⑶top<=bottom ⑷(top+bottom)/2 ⑸key>list[mid] ⑹return mid (或index=mid;break;)⑺x ⑻x*(1-px(x,n-1))五、程序设计题:(第1小题5分,第2小题8分,第3小题12分,共25分)1.#include <stdio.h>void main(){int x,max;printf("input a group of integer end of 0:\n");scanf("%d",&x); ----------1分max=x; ----------1分while(x!=0) ----------1分{scanf("%d",&x);if(max<x) ----------1分max=x;}printf("max=%d\n",max); ----------1分}2.#include <stdio.h>void main(){int i,j,k; ----------1分for(i=1;i<100;i++) ----------1分for(j=1;j<10;j++) ----------2分{k=100-i-j; ----------1分if(i*0.4+j*4+k*0.2==40&&k>0) ----------2分printf("苹果%3d,西瓜%3d,梨%3d\n",i,j,k); ----------1分}}3.#include <stdio.h>#define N 10void sort(int [],int); ----------0.5分void insert(int [],int,int); ----------0.5分void main(){int i,key,a[N+1];for(i=0;i<N;i++) ----------1分scanf("%d",&a[i]);sort(a,N); ----------0.5分printf("排序后:\n");for(i=0;i<N;i++)printf("%5d",a[i]);printf("\n请输入要插入的数:");scanf("%d",&key);insert(a,key,N+1); ----------0.5分printf("\n插入后:\n");for(i=0;i<N+1;i++) ----------1分printf("%5d",a[i]);}void sort(int a[],int n){int i,j,temp;for(i=0;i<n-1;i++) ----------1分for(j=0;j<n-1-i;j++) ----------1分if(a[j]>a[j+1]) ----------1分{temp=a[j]; ----------1分a[j]=a[j+1];a[j+1]=temp;}}void insert(int a[],int k,int n){int i,j;for(i=0;i<n-1;i++) ----------1分if(k<a[i]) ----------1分break;for(j=n-1;j>i;j--) ----------1分a[j]=a[j-1];a[i]=k; ----------1分}。
程序设计基础理论练习题(带答案)
![程序设计基础理论练习题(带答案)](https://img.taocdn.com/s3/m/b1118bac112de2bd960590c69ec3d5bbfd0ada34.png)
程序设计基础理论练习题(带答案)程序设计基础理论练习题(带答案)1. 编程语言的发展历程从机器语言到高级语言的发展,现代计算机编程语言的分类和特点。
答案:编程语言的发展经历了多个阶段。
最早的计算机只能使用机器语言进行编程,这是一种由0和1组成的二进制代码。
随着计算机的发展,高级语言逐渐出现。
高级语言通过使用更接近自然语言的语法和结构,使得编程更加易于理解和用户友好。
现代计算机编程语言多种多样,比如C、Java、Python等。
它们各自有着不同的特点和用途。
2. 数据类型与变量不同编程语言中常见的数据类型和变量的定义、使用方法。
答案:不同编程语言中常见的数据类型包括整数、浮点数、布尔值、字符和字符串等。
变量用于存储不同类型的数据。
在大部分编程语言中,变量需要先定义,然后才能使用。
定义变量时需要指定变量名和数据类型。
变量名是用于标识变量的名称,而数据类型决定了变量可以存储的值的种类和范围。
使用变量时可以给其赋值或者读取其值。
3. 运算符常见的运算符有哪些?它们的功能和使用方法是什么?答案:常见的运算符包括算术运算符、比较运算符、逻辑运算符和赋值运算符等。
算术运算符包括加、减、乘、除、取余等,用于执行基本的数学运算。
比较运算符用于比较两个值的大小关系,包括等于、大于、小于等。
逻辑运算符用于处理布尔值,比如与、或、非等。
赋值运算符用于将一个值赋给一个变量。
4. 控制流程程序中常见的控制流程结构,包括条件判断和循环结构。
答案:程序中常见的控制流程包括条件判断和循环结构。
条件判断结构用于根据某个条件的真假来决定执行不同的代码段。
常见的条件判断结构有if语句和switch语句。
循环结构用于反复执行某段代码,直到满足某个条件才停止。
常见的循环结构有while循环、do-while循环和for循环。
5. 函数和模块函数和模块的定义和使用方法,函数的参数传递和返回值。
答案:函数是一段封装了特定功能的代码块,可以被反复调用。
程序设计基础试题(附答案)
![程序设计基础试题(附答案)](https://img.taocdn.com/s3/m/e22e0536f8c75fbfc67db20e.png)
程序设计基础试题(附答案)程序设计基础复习题一、单选1、一个完整的计算机系统应该包括()A、系统软件和应用软件B、计算机及其外部设备C、硬件系统和软件系统D、系统硬件和系统软件2、“裸机”的概念是指()A、正在进行设计还没有组装好的计算机B、已经组装好但还没有安装任何软件的计算机C、仅安装了操作系统的计算机系统D、安装了文字处理软件但没有安装专用数据处理系统的计算机3、世界上第一台电子数字计算机研制成功的时间是()A、1936年B、1946年C、1956年D、1970年4、CASE的含义是()A、计算机辅助设计B、计算机辅助制造C、计算机辅助教学D、计算机辅助软件工程5、当前广泛使用的微型计算机是()A、第一代B、第二代C、第三代D、第四代6、当代计算机的体系结构称为是()A、冯诺依曼机B、非冯诺依曼机C、图灵机D、比尔盖茨机7、硬盘是()A、输入设备B、输出设备C、存储设备D、计算设备8、下面4句话中,最准确的表述是()A、程序=算法+数据结构B、程序是使用编程语言实现算法C、程序的开发方法决定算法设计D、算法是程序设计中最关键的因素9、计算机能直接执行的语言是()A、机器语言B、汇编语言C、高级语言D、目标语言10、解释程序的功能是()A、将高级语言程序转换为目标程序B、将汇编语言程序转换为目标程序C、解释执行高级语言程序D、解释执行汇编语言程序11、下面4种程序设计语言中,不是面向对象式语言的是()A、JAVAB、Object PascalC、DelphiD、C12、不是C语言的基本数据类型是()A、intB、doubleC、charD、bool13、在C语言中,为了求两个整数相除之后得到的余数,可以使用运算符()A、/B、%C、*D、++14、数据的逻辑结构分为()A、纯属结构和非线性结构B、顺序结构和非顺序结构C、树型结构和图型结构D、链式结构和顺序结构15、用链表表示纯属表的优点是()A、便于随机存取B、便于插入和删除操作C、花费的存储空间较顺序存储少D、元素的物理顺序与逻辑顺序相同16、栈的最主要特点是()A、先进先出B、先进后出C、两端进出D、一端进一端出17、下面4句结论只有一句是错误的,它是()A、二叉树是树B、二叉树的左右子树的位置可以颠倒C、可以使用二叉树的思想对数值进行排序D、可以采用链表方式存储二叉树18、螺旋模型中包括需求定义、风险分析、工程实惠和评审四个阶段,在开发过程中()A、每个周期都要包括这四个阶段B、每个周期可以包括不同的阶段C、在最后交付使用之前才进行评审D、在项目开始时才需要进行风险分析19、软件工程的出现主要是由于()A、程序设计方法学的影响B、其他工程科学的影响C、软件危机的出现D、计算机的发展20、在软件工程中,软件测试的目的是()A、试验性运行软件B、发现软件错误C、证明软件是正确的D、找出软件中全部错误二、填空题1、世界上最早的高级程序设计语言是()2、计算机按照工作原理进行分类可以分为()和()3、当前计算机的最基本原理采用的是()4、计算机存储器一般分为两级,它们是()和()5、高级语言程序的翻译有两种方式,一种是(),另一种是()6、数据的存储结构可以用()和()7、树型结构的主要特征是结点之间存在着一种层次的关系,数据元素之间的关系是()的关系。
程序设计基础试题(附答案)
![程序设计基础试题(附答案)](https://img.taocdn.com/s3/m/4a78ed5ca200a6c30c22590102020740be1ecd00.png)
程序设计基础试题(附答案)程序设计基础试题(附答案)程序设计是计算机科学领域中的一门重要学科,它涉及到计算机软件的开发过程以及解决问题的方法和技巧。
掌握程序设计基础知识对于想要成为一名优秀的程序员来说至关重要。
本文将给出一些程序设计基础试题,并附上详细的答案解析,希望能够对初学者或者想要提升编程水平的人有所帮助。
题目一:设计一个程序,输入一个整数n,输出1到n之间的所有偶数。
解答:```pythonn = int(input("请输入一个整数:"))for i in range(1, n+1):if i % 2 == 0:print(i)```题目二:编写一个函数,判断一个字符串是否是回文串(正着读和反着读都一样的字符串)。
解答:```pythondef is_palindrome(s):if s == s[::-1]:return Trueelse:return Falsestring = input("请输入一个字符串:")if is_palindrome(string):print("是回文串")else:print("不是回文串")```题目三:编写一个程序,统计一个字符串中每个字符出现的次数。
解答:```pythonstring = input("请输入一个字符串:")char_count = {}for char in string:if char in char_count:char_count[char] += 1else:char_count[char] = 1for char, count in char_count.items():print(f"{char}: {count}")```题目四:设计一个程序,计算斐波那契数列的第n项。
解答:```pythondef fibonacci(n):if n <= 0:return Noneelif n == 1 or n == 2:return 1else:a, b = 1, 1for _ in range(n - 2):a, b = b, a + breturn bn = int(input("请输入一个整数:"))result = fibonacci(n)if result is None:print("请输入一个正整数!")else:print(f"斐波那契数列的第{n}项为:{result}") ```题目五:编写一个函数,判断一个正整数是否是素数。
程序设计基础练习题(全部有答案版)
![程序设计基础练习题(全部有答案版)](https://img.taocdn.com/s3/m/03019a866037ee06eff9aef8941ea76e58fa4a1e.png)
程序设计基础练习题(全部有答案版)程序设计基础练习题(全部有答案版)介绍:程序设计是计算机科学中的一门基础学科,它涉及到计算机程序的设计、编写和调试。
通过练习基础练习题,学生可以巩固和提高自己的程序设计能力。
本文将为您提供一些程序设计基础练习题,并附上答案,帮助您更好地理解和掌握程序设计的基本知识。
1. 基本输入输出题目描述:编写一个程序,要求用户输入两个数字,然后将这两个数字相加并输出结果。
```C++#include <iostream>int main() {int num1, num2, sum;std::cout << "请输入两个数字:" << std::endl;std::cin >> num1 >> num2;sum = num1 + num2;std::cout << "两个数字的和为:" << sum << std::endl;return 0;```2. 条件判断题目描述:编写一个程序,要求用户输入一个整数,然后判断该整数是否为偶数,并输出判断结果。
```Javaimport java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int num;System.out.println("请输入一个整数:");num = scanner.nextInt();if (num % 2 == 0) {System.out.println("该整数是偶数。
");} else {System.out.println("该整数不是偶数。
程序设计基础考试
![程序设计基础考试](https://img.taocdn.com/s3/m/900a648eb04e852458fb770bf78a6529657d3563.png)
程序设计基础考试(答案见尾页)一、选择题1. 在程序设计中,什么是变量?A. 存储器中的一个存储单元B. 可变的数据段C. 一个存储单元D. 以上都不是2. 在程序设计中,什么是循环?A. 重复执行一段代码直到满足特定条件B. 一次性执行一系列操作C. 基于条件执行不同的操作D. 以上都不是3. 在程序设计中,什么是函数?A. 一组用于执行特定任务的代码块B. 一个独立的程序C. 一个计算式D. 以上都不是4. 在程序设计中,什么是数组?A. 一个存储一系列数字的列表B. 一个存储一系列字符的列表C. 一种数据结构,用于存储相同类型的元素集合D. 以上都不是5. 在程序设计中,什么是递归?A. 一个函数调用自身B. 一个循环结构C. 一个基于条件的重复过程D. 以上都不是6. 在程序设计中,什么是算法?A. 一系列解决问题的清晰指令B. 一组计算机能执行的指令C. 一个计算过程D. 以上都不是7. 在程序设计中,什么是变量命名?A. 给变量分配一个唯一的名称B. 为变量设置一个描述性的名字C. 为变量分配一个数值D. 以上都不是8. 在程序设计中,什么是参数?A. 函数或过程中接收的外部输入B. 函数或过程中使用的局部变量C. 函数或过程中的一个变量D. 以上都不是9. 在程序设计中,什么是控制结构?A. 程序中的顺序执行B. 程序中的选择执行C. 程序中的循环执行D. 程序中的条件执行10. 在程序设计中,什么是数据类型?A. 数据的类型B. 数据的格式C. 数据的存储方式D. 数据的可变性11. 在程序设计中,什么是变量?A. 存储数据的一个名称B. 控制程序流程的结构C. 用来表示特定数制下的一个数值D. 以上都是12. 下面哪个是C语言中的关键字?A. ifB. whileC. includeD. void13. 在C语言中,用于函数定义的关键字是?A. functionB. procedureC. funcD. def14. 程序中的基本结构不包括以下哪一项?A. 顺序结构B. 分支结构C. 循环结构D. 递归结构15. 在程序设计中,什么是循环?A. 重复执行一段代码直到满足特定条件B. 一次执行一系列操作C. 预先定义的一组指令D. 不执行任何操作16. 在程序设计中,什么是函数?A. 一段可重用的代码块B. 一个计算结果的过程C. 一个独立的代码单元D. 以上都是17. 在C语言中,什么是数组?A. 一组有序的数据元素B. 一个存储数据的结构C. 一个计算结果的过程D. 以上都是18. 什么是算法?A. 一系列解决问题的清晰指令B. 一系列解决问题的模糊指令C. 一系列无序的数据元素D. 以上都是19. 在程序设计中,什么是指针?A. 操作数组的一种方式B. 一个存储数据的位置C. 一个计算结果的过程D. 以上都是20. 什么是数据结构?A. 程序中的基本结构B. 一系列相互关联的数据元素C. 一种计算方法D. 以上都是21. 在程序设计中,什么是变量?A. 存储数据的一个符号名B. 控制程序流程的结构C. 用来表示特定数据结构的符号D. 以上都不是22. 在程序设计中,什么是循环?A. 重复执行一段代码直到满足特定条件B. 用来初始化变量值的过程C. 用来定义函数或过程的关键字D. 以上都不是23. 在程序设计中,什么是函数?A. 一组可以重复使用的代码块B. 用来计算数学表达式的值C. 用来控制程序流程的结构D. 以上都不是24. 在程序设计中,什么是数组?A. 一种数据结构,用于存储一系列相同类型的数据B. 用来表示文本数据的对象C. 用来描述具有不同属性的对象集合D. 以上都不是25. 在程序设计中,什么是指针?A. 用于存储和操作变量或数据结构的内存地址B. 用来表示字符串的数据类型C. 一种数据结构,用于存储一系列相同类型的数据D. 以上都不是26. 在程序设计中,什么是算法?A. 一系列解决问题的清晰指令B. 用于计算数学问题的公式C. 一种特定的编程风格或方法D. 以上都不是27. 在程序设计中,什么是条件语句?A. 根据特定条件执行不同操作的代码块B. 用于初始化变量值的过程C. 用来定义函数或过程的关键字D. 以上都不是28. 在程序设计中,什么是函数调用?A. 将程序的执行从一个函数切换到另一个函数B. 用于计算数学表达式的值C. 用来描述具有不同属性的对象集合D. 以上都不是29. 在程序设计中,什么是递归?A. 一种程序设计技术,其中一个函数调用自身以解决问题B. 用于初始化变量值的过程C. 用来定义函数或过程的关键字D. 以上都不是30. 在程序设计中,什么是参数?A. 函数或过程中接收输入值的变量B. 用于计算数学表达式的值C. 用来描述具有不同属性的对象集合D. 以上都不是31. 在程序设计中,什么是变量?A. 存储器的一种B. 表示值的符号名C. 用来存储数据的容器D. 以上都不是32. 在程序设计中,什么是循环?A. 重复执行一段代码直到满足特定条件B. 一次性的操作C. 用于处理数组或列表的特定方法D. 以上都不是33. 在程序设计中,什么是函数?A. 一组用于执行特定任务的代码块B. 一种输入输出操作C. 用于计算数学表达式的值D. 以上都不是34. 在程序设计中,什么是算法?A. 一系列解决问题的清晰指令B. 一种特定的编程语言C. 用于解决特定问题的步骤D. 以上都不是35. 在程序设计中,什么是数据类型?A. 确定数据长度的特性B. 数据的唯一性C. 数据的取值范围D. 以上都不是36. 在程序设计中,什么是变量命名规则?A. 只能包含字母和数字B. 必须以字母或下划线开头C. 必须唯一D. 长度没有限制37. 在程序设计中,什么是数组?A. 一种数据结构,用于存储相同类型的元素集合B. 一种输入输出操作C. 用于表示具有不同属性的数据集合D. 以上都不是38. 在程序设计中,什么是指针?A. 操作数组的一种方式B. 保存和操作变量或数据结构的内存地址C. 一种特定的编程语言D. 以上都不是39. 在程序设计中,什么是递归?A. 一种解决问题的方法,通过调用自身来解决问题B. 一种特定的编程语言C. 用于处理数组或列表的特定方法D. 以上都不是40. 在程序设计中,什么是异常处理?A. 一种错误处理机制B. 一种特定的编程语言C. 用于解决特定问题的步骤D. 以上都不是二、问答题1. 什么是编程语言中的变量?请举例说明。
计算机二级 C语言 程序设计基础试题七
![计算机二级 C语言 程序设计基础试题七](https://img.taocdn.com/s3/m/ae32640b4a7302768e9939c9.png)
《程序设计》考试试卷七1.C语言中,如果对函数类型未加说明,则函数的隐含类型为()A.duobleB. voidC.intD.char2.union data{ int i;char c;float f; };定义了()A.共用体类型dataB.共用体变量dataC.结构体类型dataD.J结构体变量data3.设a=3,b=4,表达式a>b?b:a的值是()A.3B. 4C.4:3D.04.下面对枚举类型的叙述,不正确的是()A.定义枚举类型用enum开头B.枚举常量的值是一个常数C.一个整数可以直接赋给一个枚举变量D.枚举值可以用来作判断比较5.求0到50的总和,不正确的程序段是()A. int i,sum;sum=0;for(i=0;i<51;i++) sum+=i;B. int i,sum;for(i=0,sum=0;i<51;sum+=i++);C. int i,sum;i=0;sum=0;for(i<51) {sum+=i;i++;}D. int i,sum=0;for(i=0; ;i++) {if(i>50) break; sum+=i;}6. 表达式 (int)3.6*3的值为()A.9 B. 10 C . 10.8 D.187.程序的结果为()main(){ int a=3,b=4,t=1;if (a>b){t=a;a=b;b=t;}printf(“%d”,a) }A. 3B.4C.1D.08.程序main(){ int a=1;switch(a){ case 1: printf(“1”);case 2: printf(“2”);default: printf(“other”);}} 的结果为()A.12otherB.1C.2D.Other9.函数strcmp(“A”, “B”)的值为( )A.0B.-1C.1D.310.下程序的结果为( )int f(a) int a;{ auto int b=0; static int c=3; b=b+1; c=c+1;return(a+b+c);}main(){ int a=2,i;for (i=0;i<3;i++)printf(“%d”,f(a));}A.789B.777C.8910D.911.合法的C语言标识符是()A.ab&cB.2abC._a1D./n12.若有定义int a=2,b=9,k;k=a+b++/a++;则k的值是()A.6.5B.7C.6D.813.标有/* */语句的输出结果为()int x=20; printf(“%d,%o,%x”,x,x,x);/* */A.20,20,20B.20,24,14C.20,14,24D.20,024,1414. 将p定义为指向含n个元素的一维数组的指针变量,正确的语句为()A. int (*p)[n];B. int *p[n];C.int p[n];D. int **p[n];15. 下面程序执行结果是()main(){ char c1,c2;int i=2;c1=’a’;c2=’c’;c1=c1+i; c2=c2-i;printf(“%c,%d”,c1,c2);/*’a’的ASCII码为97*/A.语法错误 B.99,97 C.c,a D.c,9716.请问:071^052的结果是()A.032B.016C.023D.02217.下面对函数的叙述,不正确的是()A.函数的返回值是通过函数中的return语句获得的B.函数不能嵌套定义C.一个函数中有且只有一个return语句D.函数中没有return语句,并不是不带回值18.下面的叙述,不正确的是()A.宏名无类型,其参数也无类型B.宏定义不是C语句,不必在行末加分号C.宏替换只是字符替换D.宏替换定义命令必须写在文件开头19.有定义int a[3][4],输入其3行2列元素的正确语句为()A.scanf(“%d”,a[3,2]);B.scanf(“%d”,*(*(a+2)+1))C.scanf(“%d”,*(a+2)+1);D.scanf(“%d”,*(a[2]+1));20.下面对指针变量的叙述,正确的是()A.指针变量可以加上一个指针变量B.可以把一个整形数赋给指针变量C.指针变量的值可以赋给指针变量D.指针变量不可以有空值,即该指针变量必须指向某一变量二、阅读程序,写出执行结果(每题5分,共20分)1、#include “stdio.h”main(){ int i,k,a[10],p[3];k=5;for ( i=0;i<10;i++) a[i]=i;for (i=0;i<3;i++) p[i]=a[i*(i+1)];for ( i=0;i<3;i++) k+=p[i]*2;printf(“%d\n”,k); }2、#include “stdio.h”main( ){ int a=2,*p,**pp;pp=&p;p=&a;a++;printf(“%d,%d,%d\n”,a,*p,**p p);}3、main( ){ union{ char s[2];int i;}g;g.i=0x4142;printf(“g.i=%x\n”,g.i);printf(“g.s[0]=%x\t g.s[1]=%x\n”,g.s[0],g.s[1]);g.s[0]=1;g.s[1]=0;printf(“g.s=%x\n”,g.i); }4、#include “stdio.h”main( ){ int x=1;void f1( ),f2( );f1( );f2(x);printf(“x=%d\n”,x);}void f1(void){ int x=3; printf(“x=%d\n”,x);}void f2(x)int x;{ printf(“x=%d\t”,x);}Q (下列每小题只有一个错误,请改正。
程序设计基础练习题全部有答案版
![程序设计基础练习题全部有答案版](https://img.taocdn.com/s3/m/8a125e942f60ddccda38a0ff.png)
int a=1,b=2;
5.
printf(
14.0
%4.1f\n
B、31.5
,S(a+b)); 3.5*a+b*a+b
C、
7.5
D、10.5
F面程序运行后输出的结果
#i nclude"stdio.h"
#defi ne MIN(x,y) (x)<(y)?(x):(y)
mai n()
int a,b,c;
逻辑表达式
任意表达式
以下程序的输出是(D)
mai n()
{int i,j,k,a=3,b=2;
j=a++;k=b;
执行下面的程序:
mai n() {int x;
sea nf("%d", &x);
if (x++>5) prin tf("%d\n", x);
else prin tf("%d\n", -x);
prin tf("%d",k),k--;
prin tf("k=%d\n",k);
prin tf("\n");
}
A0B、1C、2D、-2
8.下面程序的输出为(B)
#in clude<stdio.h> mai n()
{int i,j,x=0;
for(i=0;i<2;i++)
数组中的所有元素赋值,则在下划线处应填入的是(
C、被包含的檔不一定以.h作为后缀
D、在以下定义中C R是称为“宏名”的标识符
#define fc4566CR
程序设计基础(二)期末试卷B(07本下学期)
![程序设计基础(二)期末试卷B(07本下学期)](https://img.taocdn.com/s3/m/b7ac7039580216fc700afd34.png)
void main() { B x(5),y(6,7); }
4.#include<iostream.h>
class base
{int n;
public:
base(){};
base (int a)
{cout << "constructing base class" << endl;
n=a;
cout << "n=" << n << endl;
void display();//输出显示函数
Time& operator ++();//前置单目运算符++重载函数
private:
int hour,minute,second;//时,分,秒
};
请编写Time的上述3个函数。其中:
(1)构造函数用于创建时间对象时分别用参数h、m、s的值对私有数据成员hour,minute,second初始化;
}
五、编程题(第1小题10分,第2小题10分,共20分)
1.输入两个正整数m和n (1<m<n),求从m到n之间(包括m和n)的所有素数,并按每行5个数,每个数8列的格式输出。(素数是除1以外只能被自身整除的自然数)。
2.已知时间类定义如下:
class Time
{public:
Time(int h=0, int m=0, int s=0); //构造函数
2.C语言结构类型变量在程序执行期间()。
A)所有成员一起驻留在内存中。B)只有一个成员驻留在内存中。
C)部分成员驻留在内存中。D)没有成员驻留在内存中。
计算机程序设计基础复习 题集附答案
![计算机程序设计基础复习 题集附答案](https://img.taocdn.com/s3/m/61e644cca1116c175f0e7cd184254b35eefd1a2f.png)
计算机程序设计基础复习题集附答案计算机程序设计基础复习题集附答案1. 基础知识篇1.1 数据类型在计算机程序设计中,数据类型是非常重要的概念,它决定了我们可以对数据进行的操作以及占用的存储空间大小。
常见的数据类型有整型、浮点型、字符型等。
以下是一些数据类型的介绍:1.1.1 整型(int)整型是用来表示整数的数据类型,可以存储正整数、负整数以及零。
在大多数编程语言中,整型的大小一般为4个字节(32位),可以表示的范围是从-2,147,483,648到2,147,483,647。
1.1.2 浮点型(float)浮点型用来表示带有小数部分的数值,例如 3.14 或者 2.718。
浮点型的大小一般为4个字节(32位),可以表示的范围比整型更大。
1.1.3 字符型(char)字符型用来表示单个字符,例如 'a'、'b' 或者 '1'。
字符型的大小一般为1个字节(8位)。
1.2 运算符在程序设计中,运算符用于对数据进行运算和操作。
常见的运算符包括加法、减法、乘法、除法等。
以下是一些常见的运算符及其使用方法:1.2.1 算术运算符算术运算符用于进行基本的算术运算,包括加法(+)、减法(-)、乘法(*)、除法(/)等。
1.2.2 关系运算符关系运算符用于比较两个值的大小关系,常见的关系运算符包括等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)和小于等于(<=)。
1.2.3 逻辑运算符逻辑运算符用于组合多个条件,进行复合的逻辑判断。
常见的逻辑运算符包括与(&&)、或(||)和非(!)。
1.3 控制流程控制流程指的是程序的执行流程,即代码在何种条件下执行哪一段代码。
常见的控制流程包括顺序结构、选择结构和循环结构。
1.3.1 顺序结构顺序结构即代码按照书写顺序依次执行,没有分支或循环。
1.3.2 选择结构选择结构根据条件的不同,选择性地执行不同的代码块。
C语言程序设计题目及解答-07
![C语言程序设计题目及解答-07](https://img.taocdn.com/s3/m/47e6c5f48bd63186bcebbc50.png)
一、判断题 (24分)1. 函数的递归调用不过是一个函数直接地调用它自身。
2分2. 在c语言中,在main函数中定义的变量称为全局变量。
2分3. 静态变量和外部变量都是全局变量,它们的存储是静态的。
2分4. 静态局部变量只在本函数内可用。
2分5. 静态外部变量只在本文件内可用。
2分6. 变量根据其作用域的范围可以分作局部变量和全局变量.2分7. 任何数组在使用时必须先定义。
2分8. 如果想使一个数组中全部元素的值为1,可以写成int a[10]={1*10};2分9. 如果定义数组int b[6]={1,2,3,4};则b[6]为0。
2分10. int n=10; int a[n];则数组a有10个元素。
2分11. int b[][3] = {1,2,3,4,5,6,7} ,表示数组b是3行3列的数组。
2分二、选择题 (36分)1.根据下面函数print的定义,选出调用函数print(5378)的值是()。
[A] 2分void print(long n){if (n==0) return ;else{print(n/10);printf("% d", n%10);return ;}}A. 5 3 7 8B. 8 7 3 5C. 3 5 7 8D. 8 7 5 32.根据下面函数f,选出f(f(3))的值是()。
[C] 2分int f(int x){static int k=0;x=x+k;k--;return x;}A. 5B. 3C. 2D. 43.如果在函数中定义一个变量,有关该变量作用域正确的是()。
[A] 2分A. 只在该函数中有效B. 在该文件中有效C. 在本程序中有效D. 为非法变量4.下列叙述中,正确的叙述项是()。
[B] 2分A. 定义函数时,必须要有形参B. 函数中可以没有return语句,也可以有多条return语句C. 函数f可以用f(f(x))形式调用,这种调用形式是递归调用D. 函数必须有返回值5.下列说法正确的是( ) [D] 2分A. 在C语言中,可以使用动态内存分配技术定义元素个数可变的数组B. 在C语言中,数组元素的个数可以不确定,允许随机变动C. 在C语言中,数组元素的数据类型可以不一致D. 在C语言中,定义了一个数组后,就确定了它所容纳的具有相同数据类型元素的个数6.以下能正确定义一维数组的选项是( )。
JSP程序设计 第07章习题答案
![JSP程序设计 第07章习题答案](https://img.taocdn.com/s3/m/dce20b54ad02de80d4d840a8.png)
int iCount = stmt.executeUpdate(sql);
System.out.println("᪡៤ࡳˈ᠔ᕅડⱘ䆄ᔩ᭄Ў" + String.valueOf(iCount));
return true;
} catch (SQLException e) {
return false;
}
}
}
–3–
ԛ 08 Ⴣ JSP ᅙᄉಭ ඕӓ̣ } }
ᇚ MYSQL ᭄ᑧ偅ࡼⱘ㉏ࣙࡴ䕑ᎹЁৢˈ䇏㗙ৃҹ䗮䖛Ϟҷⷕˈ䇗⫼Ⳍᑨⱘᮍ⊩ˈ ᅲ⦄ᇍᄺ⫳ֵᙃ㸼䖯㸠辵᪡DŽ
–4–
return null;
} catch (Exception e) {
return null;
}
return rs;
}
}
public void closeConnection(){
//݇䯁᭄ᑧ䖲
if(con==null){
try {
con.close();
} catch (SQLException e) {
private Connection con = null;
public JDBConnection() {
//䗮䖛ᵘ䗴ᮍ⊩ࡴ䕑᭄ᑧ偅ࡼ
try {
Class.forName(dbDrive).newInstance();
} catch (Exception ex) {
System.out.println("᭄ᑧࡴ䕑༅䋹");
ԛ 07 Ⴣ JSP ࣏ۢޏ೬ ඕӓ̣
07 ゴ JSP ᭄ᑧḌᖗᡔᴃ
ඕӓ̣
1ˊㅔ䗄 JDBC ⱘᎹॳ⧚ˈᑊ߫Вᐌ⫼ⱘᇍ䈵DŽ
大学计算机基础(程序设计基础)习题与答案
![大学计算机基础(程序设计基础)习题与答案](https://img.taocdn.com/s3/m/d9ced0358762caaedd33d4ff.png)
一、单选题1、计算机能够直接执行的程序是()。
A.汇编语言程序B.可执行文件C.源程序D.命令文件正确答案:B2、汇编语言也称为()。
A.面向应用的语言B.面向对象的语言C.面向机器的语言D.面向过程的语言正确答案:C3、C、C++、Java可归类为()语言。
A.符号B.机器C.高级D.自然正确答案:C4、根据计算机语言发展的过程,下列排列顺序正确的是()。
A.机器语言、高级语言、汇编语言B.机器语言、汇编语言、高级语言C.汇编语言、机器语言、高级语言D.高级语言、机器语言、汇编语言正确答案:B5、编译程序将高级语言程序翻译成与之等价的机器语言程序,编译前的程序可以称呼()。
A.目标程序B.源程序C.临时程序D.原程序正确答案:B6、()都属于计算机的低级语言。
A.机器语言和高级语言B.汇编语言和高级语言C.机器语言和汇编语言D.高级语言和数据库语言正确答案:C7、在程序设计中,把解题过程准确而完整地描述出来,就叫()。
A.算法B.方法C.事件D.过程正确答案:A8、()是一种使用几何图形描述程序逻辑关系的程序设计方法。
A.流程图B.饼图C.数据流图D.柱形图正确答案:A9、用C语言编写的程序需要用()程序翻译后计算机才能识别。
A.汇编B.解释C.连接D.编译正确答案:D10、可被计算机直接执行的程序由()语言编写的程序。
A.汇编B.机器C.高级D.网络正确答案:B11、由二进制编码构成的语言是()。
A.C语言B.BASIC语言C.汇编语言D.机器语言正确答案:D12、结构化程序设计中的三种基本程序结构是指()。
A.顺序结构、转移结构、分支结构B.顺序结构、转移结构、循环结构C.顺序结构、选择结构、循环结构D.转移结构、选择结构、分支结构正确答案:C13、算法的基本结构中不包括()。
A.选择结构B.循环结构C.顺序结构D.逻辑结构正确答案:D14、在计算机科学中,算法这个术语是指()。
A.求解问题并选择编程工具B.求解问题的数学方法C.求解计算机问题的一系列步骤D.选择求解问题的计算机系统正确答案:C15、高级语言翻译程序是将高级语言编写的源程序翻译成目标程序有两种工作方式。
程序设计基础练习题及答案
![程序设计基础练习题及答案](https://img.taocdn.com/s3/m/4f31657d366baf1ffc4ffe4733687e21ae45ff12.png)
一、单选题1、16位无符号整数能表达的最大值是A.32767B.32768C.65536D.65535正确答案:D2、下面谁被称为计算机科学之父A.阿兰图灵B.冯诺依曼C.迪杰斯特拉D.高纳德正确答案:A3、下列不属于输入输出设备的是:A.键盘B.手写板C.内存D.摄像图正确答案:C4、下面关于高级语言的说法正确的是:A.高级语言的出现,使得程序员的门槛大大降低B.高级语言不包括C语言,因为C语言更适用于系统方面的编程C.与汇编语言相比,高级语言开发的程序执行速度更快D.高级语言完全不依赖于硬件正确答案:A5、-0的8位补码是A.其他B.11111111C.00000000D.10000000正确答案:C6、下面的用嵌套循环求阶乘的程序中,总计需要的循环次数是()A.n*i次B.n(n+1)/2次C.n*n次D.n次正确答案:B7、循环不变式的建立是在循环体中选取一个点,在该点建立一个逻辑表达式,使每次循环执行到该点时A.这个逻辑表达式在循环体中不总是为真B.这个逻辑表达式在循环体中总是为假C.这个逻辑表达式在循环体中总是为真D.这个逻辑表达式在循环体中不总是为假正确答案:C8、找到合适的循环不变式能验证A.程序的全部正确性。
B.程序的全部逻辑错误。
C.程序的全部错误。
D.程序的部分正确性。
正确答案:D9、对于直到型循环与当型循环而言,当开始第一次循环且循环条件为假时,下面叙述正确的是()A.只有当型循环的循环体会被执行1次,直到型循环不会执行。
B.两者的循环体都会被执行1次C.两者的循环体都不会被执行D.只有直到型循环的循环体会被执行1次,当型循环不会执行。
正确答案:D10、下列说法错误的是()。
A.如果一个循环中又包含了另一个循环,则称为嵌套循环。
B.嵌套循环的内层和外层循环的循环控制变量不能同名。
C.执行嵌套循环时是先执行内存循环,后执行外层循环。
D.嵌套循环的循环次数等于外层循环的循环次数与内层循环的循环次数之积。
程序设计基础(二)期末试卷A答案(07本下学期)
![程序设计基础(二)期末试卷A答案(07本下学期)](https://img.taocdn.com/s3/m/f1d5011da76e58fafab00335.png)
《程序设计基础(二)》期末考试(A卷)参考答案一、单项选择题(每题1分,共20分)1.B 2.C 3.B 4.D 5.C 6.B 7.C 8.A 9.C 10.A 11.B 12.B 13.C 14.C 15.A 16.B 17.B 18.D 19.C 20.D二、判断题(每题2分,共12×2=24分)1-6 F T T T T T 7-12 F F T T F F三、阅读程序,将程序运行结果填写答题册上。
(每小题5分,共20分)1.WuhanBeijingShanghaiGuangzhouShenzhen2.100,200,200,100 3.1Base Class21Base 4.ConstructorCopy_ ConstructorA=12,B=23ConstructorA=5,B=6DestructorDestructorDestructor四、程序填空题(根据题意要求,将程序补充完成。
)(每空2分,共16分)①head ②q!=NULL③p=p->next ④s->next=p⑤const ⑥MyPoint⑦Cen(p) ⑧MyCircle::五、编程题(第1小题5分,第2小题15分,共20分)1.#include <stdio.h>#define N 20#define M 30void main(void){int array[N][M],i,j,max,(*p)[M]=arr ;double sum=0.0; ------1分for(i=0;i<N;i++)for(j=0;j<M;j++)scanf("%d",*(p+i)+j); ------1分max=a[0][0];sum=0;for(i=0;i<N;i++) ------1分for(j=0;j<M;j++){ sum+=*(*(p+i)+j)if(max<*(*(p+i) +j)) ------1分max=*(*(p+i)+j);}printf("max=%d,average=%lf\n",max,sum/(N*M)); ------1分}2、// 普通构造函数StrA ::StrA (const char *str){if(str==NULL) ------1分{m_data=new char[1]; ------1分*m_data=’\0’;------1分}else{int length=strlen(str); ------1分m_data=new char[length+1]; ------1分strcpy(m_data,str); ------1分}}// 拷贝构造函数StrA ::StrA (const StrA &other){i nt length=strlen(other.str); ------1分m_data=new char[length+1]; ------1分s trcpy(m_data, other.m_data); ------1分}// 析构函数StrA ::~StrA (void){delete [] m_data; 或delete m_data; ------1分}// 赋值函数StrA ::StrA& operator =(const StrA &other){if(this == &other) ------1分return *this;delete [] m_data; ------1分int new_length=strlen(other.m_data);m_data=new char[max_length+1]; ------1分strcpy(m_data,other.m_data); ------1分return *this; ------1分}。
程序设计基础试卷与答案
![程序设计基础试卷与答案](https://img.taocdn.com/s3/m/9a58091bfd4ffe4733687e21af45b307e871f969.png)
程序设计基础一、单选题〔每题2分,共60分〕1. 以下对C语言函数的描述中,正确的是〔〕.A. C程序必须由一个或一个以上的函数组成B. C函数既可以嵌套定义又可以递归调用C. 函数必须有返回值,否则不能使用函数D. C程序中有调用关系的所有函数必须放在同一个程序文件中2. 在C语言中,char型数据在内存中的存储形式是〔〕.A. 补码B. 反码C. 原码D. ASCII码3. 以下叙述中不正确的是〔〕.A. 一个好的程序应该有详尽的注释B. 在C程序中,赋值运算符的优先级最低C. 在C程序中,j++;是一条赋值语句D. C程序中的#include和#define均不是C语句4. 应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为〔〕.A. fclose<>B. close<>C. fread<>D. fwrite5. 设C语言中,int类型数据占2个字节,则short类型数据占〔〕.A. 1个字节B. 2个字节C. 4个字节D. 8个字节6. 已知函数的调用形式fread<buffer,size,count,fp>;其中buffer代表的是〔〕.A. 一个整数,代表要读入的数据项总数B. 一个文件指针,指向要读的文件C. 一个指针,指向要读入数据的存放地址D. 一个存储区,存放要读的数据项7. 在C语言中,形参的缺省存储类是〔〕.A. autoB. registerC. staticD. extern8. 以下标识符中,不能作为合法的C用户定义标识符的是〔〕.A. putcharB. _doubleC. _123D. INT9. 在C语言中,能代表逻辑值"真〞的是〔〕.A. TrueB. 大于0的数C. 非0整D. 非0的数10. 已知x=43,ch='A',y=0;则表达式<x>=y&&ch<'B'&&!y>的值是〔〕.A. 0B. 语法错C. 1D. "假"11. 函数rewind的作用是〔〕.A. 使位置指针重新返回文件的开头B. 将位置指针指向文件中所要求的特定位置C. 使位置指针指向文件的末尾D. 使位置指针自动移至下一个字符位置12. 以下正确的说法是:在C语言中〔〕.A. 实参和与其对应的形参各占用独立的存储单元B. 实参和与其对应的形参共占用一个存储单元C. 只有当实参和与其对应的形参同名时才共占用存储单元D. 形参是虚拟的,不占用存储单元13. 对以下说明语句int a[10]={6,7,8,9,10};的正确理解是〔〕.A. 将5个初值依次赋给a[1]至a[5]B. 将5个初值依次赋给a[0]至a[4]C. 将5个初值依次赋给a[6]至a[10]D. 因为数组长度与初值的个数不相同,所以此语句不正确14. C语言中要求对变量作强制定义的主要理由是〔〕.A. 便于移植B. 便于写文件C. 便于编辑预处理程序的处理D. 便于确定类型和分配空间15. 若有说明int a[3][4];则a数组元素的非法引用是〔〕.A. a[0][2*1]B. a[1][3]C. a[4-2][0]D. a[0][4]16. 以下只有在使用时才为该类型变量分配内存的存储类说明是〔〕.A. auto和staticB. auto和registerC. register和staticD. extern和register17. int a=1,b=2,c=3;if<a>b>a=b;if<a>c>a=c;则a的值为〔〕.A. 1B. 2C. 3D. 不一定18. 下列程序的输出结果是〔〕.main<>{char c1=97,c2=98;printf<"%d%c",c1,c2>;}A. 9798B. 97bC. a98D. ab19. char a[]="Thisisaprogram.";输出前5个字符的语句是〔〕.A. printf<"%.5s",a>;B. puts<a>;C. printf<"%s",a>;D. a[5*2]=0;puts<a>;20. 以下运算符中,优先级最高的运算符是〔〕.A. ||B. %C. !D. ==21. 以下的选择中,正确的赋值语句是〔〕.A. a=1,b=2B. j++C. a=b=5;D. y=int<x>22. 若有inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5的语句为〔〕.A. printf<"%d",*<a+5>>;B. printf<"%d",p[5]>;C. printf<"%d",*<p+5>>;D. printf<"%d",*p[5]>;23. 以下叙述中正确的是〔〕.A. 在程序的一行上可以出现多个有效的预处理命令行B. 使用带参的宏时,参数的类型应与宏定义时的一致C. 宏替换不占用运行时间,只占编译时间D. 在以下定义中CR是称为"宏名"的标识符#defineCR04524. C语言中,要求运算数必须是整型的运算符是〔〕.A. ^B. %C. !D. >25. 若有int *p=<int *>malloc<sizeof<int>>;则向内存申请到内存空间存入整数123的语句为〔〕.A. scanf<"%d",p>;B. scanf<"%d",&p>;C. scanf<"%d",*p>;D. scanf<"%d",**p>;26. 结构体类型的定义允许嵌套是指〔〕.A. 成员是已经或正在定义的结构体型B. 成员可以重名C. 结构体型可以派生D. 定义多个结构体型27. 逻辑运算符两侧运算对象的数据类型〔〕.A. 只能是0或1B. 只能是0或非0正数C. 只能是整型或字符型数据D. 可以是任何类型的数据28. 以下运算符中,优先级最高的运算符是〔〕.A. =B. !=C. *<乘号>D. <>29. 关于建立函数的目的,以下正确的说法是〔〕.A. 提高程序的执行效率B. 提高程序的可读性C. 减少程序的篇幅D. 减少程序文件所占内存30.下列程序的输出结果是〔〕.main<>{int x=1,y=0,a=0,b=0;switch<x>{case1.switch<y>{case0.a++;break;case1.b++;break;}case2.a++;b++;br eak;case3.a++;b++;break;}printf<"a=%d,b=%d\n",a,b> ;}A.a=1,b=2B. a=2,b=1C. a=1,b=1D. a=2,b=2二、多选题〔每题2分,共20分〕1. 设有以下定义int a=0;double b=1.25;cha rc='A';#defined2则下面语句中正确的是〔〕.A. a++;B. b++;C. c++;D. d++;2. 若a,b,c,d都是int型变量且初值为0,以下选项中正确的赋值语句是〔〕.A. a=b=c=d=100;B. d++;C. c+b;D. d=<c=22>-<b++>;3. C语言中三种基本的类型为〔〕.A. intB. charC. floatD. struct4. 关于while语句与do-while语句,以下正确的是〔〕.A. while是当型结构B. do-while是直到型结构C. 两者有区别D. 两者无区别5. 以下选项中不合法的字符常量是〔〕.A. "B"B. '\010'C. 68D. D6. t为int类型,进入下面的循环之前,t的值为0do{………}while<t==1>;则以下叙述中正确的是〔〕A. 循环控制表达式的值为0B. 循环控制表达式的值为1C. 循环控制表达式合法D. 以上说法都不对7. 关于for<表达式1,表达式2,表达式3>循环,以下正确的是〔〕.A. 三个表达式都不可省略B. 表达式1可以省略C. 表达式2可以省略D. 表达式3可以省略8. 下面那些为合法整型常量〔〕A. 190B. 0xfC. 0765D. 0xk9. 下列为c语言的关键字是〔〕A. ifB. structC. unionD. Int10. 以下不正确的叙述是< >A. 在C程序中,每行只能写一条语句B. 若a是实型变量,C程序中允许赋值A=10,因此实型变量中允许存放整型C. 在C程序中,无论是整数还是实数,都能被准确无误地表示D. 在C程序中,%是只能用于整数运算的运算符三、判断题〔每题2分,共10分〕1. 若a=2,b=-4;则执行a||b++后,b为-4.< >A. 错误B. 正确2. 格式字符%md中的m只能为正,不能为负.< >A. 错误B. 正确3. 有unsigned int a=16;a=a<<2;则a的值是64.< >A. 错误B. 正确4. 自增自减运算符++,--可以用于int型、float型和double型资料.< >A. 错误B. 正确5. continue语句可用于switch语句,也可用于for、while和do循环语句中.< >A. 错误B. 正确6. 在某种意义上,char和int通用.< >A. 错误B. 正确7. C语言可以直接访问物理位元元址.〔〕A. 错误B. 正确8. 一个C源程序可以由一个main<>函数和若干个其它函数组成.< >A. 错误B. 正确9. 若定义char str[];则str="yellow";是正确的.< >A. 错误B. 正确10. 若有int x,y,z; x=y=z=1;则执行++x&&++y&&++z后,x,y,z的值分别为2,1,1.< >A. 错误B. 正确程序设计基础参考答案一、答案选题1-5ADBAB 6-10CAADC 11-15AABDD 16-20BABAC 21-25CDCBA 26-30ADDBB二、多选题1.ABC2.ABD3.ABC4.ABC5.ACD6.AC7.BCD8.ABC9.ABC 10.ABC三、判断题1.B2.B3.B4.B5.A6.B7.B8.B9.A 10.A。
程序设计基础试题及答案
![程序设计基础试题及答案](https://img.taocdn.com/s3/m/9f59cf19bf1e650e52ea551810a6f524ccbfcbe4.png)
程序设计基础试题及答案## 程序设计基础试题及答案### 一、选择题1. 下列哪个选项是C语言中正确的数据类型?A. int32B. float64C. doubleD. string答案:C2. 以下哪个是C语言中的控制结构?A. if-elseB. switch-caseC. forD. All of the above答案:D3. 在C语言中,哪个关键字用于定义一个函数?A. classB. functionC. defD. void答案:D### 二、填空题4. 在C语言中,`printf`函数用于_______。
答案:输出5. 一个C程序的执行从`main`函数的_______开始。
答案:第一行6. C语言中的数组声明方式为:`type arrayName[_______]`。
答案:数组大小### 三、简答题7. 请简述C语言中指针的概念。
答案:指针是一种变量,它存储了另一个变量的内存地址。
在C语言中,指针可以用于直接访问和操作内存,实现高级编程技术,如动态内存分配、函数指针等。
8. 解释C语言中结构体(struct)的作用。
答案:结构体是C语言中一种用户自定义的数据类型,它允许将多个不同类型的变量组合成一个单一的复合数据类型。
结构体可以用来表示复杂的数据对象,如学生信息、员工记录等。
### 四、编程题9. 编写一个C语言程序,实现两个整数的加法,并打印结果。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("Enter two integers: ");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("The sum is: %d\n", sum);return 0;}```10. 编写一个C语言程序,实现字符串的反转。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
广州大学学年第学期考试卷
课程高级语言程序设计考试形式(开/闭卷,考试/查)
学院系专业班级学号姓名
一、填空题(每空1分,共10分)
1.C源程序的基本单位是(函数)。
2.一个C源程序中至少应包含一个(主函数或Main函数)。
3.在C语言中,表示逻辑“真”值用(非0的值)表示。
4.若a、b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为(6),b值为( 4),c值为(2 )。
5.表达式8.2-2/3 的计算结果是(8.2 )。
6.在C语言中,整数可用三种数制表示,它们分别是(八进制)、(十进制)和(十六进制)。
二、程序计算题(每小题5分,共15分)
1.以下有一程序,输出结果是:()。
main()
{ int x=2,y,z;
x*=3+2;
printf(“%d\n”,x);
x*=y=z=4
printf(“%d\n”,x);
x=y=1;
z=x++-1;
printf(“%d,%d\n”,x,z);
z+=-x+++(++y);
printf(“%d,%d\n”,x,z); }
答案:
10
40
2,0
3,0
2.
main()
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if(b>=10) break;
if(b%3==1)
{ b+=3;
continue;
}
}
printf(“%d\n”,a);
}
3.
fa(int a ,int b)
{ return a+b; }
fb(int a,int b)
{ return a-b; }
cut(int (*t)(),int x,int y)
{ return(*t)(x,y); } main()
{ int x,(*p)(int,int);
p=fa;
x=cut(p,9,3);
x+=cut(fb,8,3);
printf(“%d\n”,x);
3.程序填空题(每空4分,共40分)
1.以下程序对输入的一个小写字母,将字母循环后移5个位置后输出。
如“a”变为“f”,“w”变成“b”。
请填空。
#include “studio.h”
main()
{ char c;
c=getchar();
if(c<=’a’&&c<=’u’)
putchar(c)
}
2. mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回,请填空。
int mystrlen(char *str)
{ int i;
\0’;i++);
}
3. 鸡兔共有30只,脚共有90只,下面的程序段是计算鸡兔各有多少只,请填空。
for(x=1;x<=29;x++)
{
printf(“%d,%d\n”,x,y);
}
4.完成下面程序的链表建立:
#include<stdlib.h>
#include<stdio.h>
#define LEN sizeof(struct link)
struct link
{ char name[10];
main()
{ struck link *head,*p;
int i;
head=null;
{
p->next=head;
head=p;
}
}
5. 下面程序以每行4个数据的形式输出a数组,请填空。
#define N 20
main()
{ int a[N],i;
for(i=0;i<N;i++)
{
printf(“%3d”,a[i]);
}
printf(“\n”);
}
四.编程(第1小题20分,第2小题15分,共35分)
1.编写一个函数atoi,其作用是将一个整数字符串转换成整数(说明:字符串不能进行四则运算,而整数能进行四则运算)。
答案:
#include “stdio.h”
main()
{
int atoi(char str[10]);
char s[10];
int number;
printf(“input a digit string\n”);
scanf(“%s”,s);
number=atoi(s);
printf(“%d”,number);
}
int atoi(char str[10])
{
int i,j,n,num,len,m;
num=0;
len=strlen(str);
for(i=0;i<strlen(str);i++)
{
n=1;
j=len=len-1;
while(j>0)
{
n=n*10;
j--;
}
m=str[i ]-48;
num=num+m*n;
}
return(num);
}
2.利用结构类型编写一个程序,计算一名同学5门功课的平均分,并打印。
答案:
main()
{
struct student
{
char name[20];
int order;
int score[5];
float average;
}x;
int sum=0, i;
printf(“Input:name,order and 5 scores.\n”);
scanf(“%s”,);
scanf(“%d”,&x.order);
for(i =0, I<5,I++)
scanf(“%d”,&.score[i]);
x,average=0.0;
for( i =0,I<5,I++)
sum+=x.score[ i ];
x,average=(float)sum/5;
printf(“\n%s\t%d\n”,,x.order);
printf(“Average=%f\n”,x.average): }。