常熟理工学院 c语言题库 (本二)

合集下载

c语言二级考试试题及答案

c语言二级考试试题及答案

c语言二级考试试题及答案C语言二级考试试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中数组的描述,正确的是:A. 数组名是一个变量名B. 数组名是一个常量C. 数组名是一个指针D. 数组名是一个函数答案:B2. 以下哪个是C语言中的合法变量名?A. 2variableB. variable-nameC. variable_nameD. variable name答案:C3. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello World" + "Hello World"D. "Hello\nWorld"答案:D4. C语言中,以下哪个不是标准输入输出库函数?A. printf()B. scanf()C. getchar()D. puts()答案:C5. 下列哪个是C语言中的条件语句?A. ifB. switchC. forD. while答案:A6. C语言中,以下哪个是正确的函数定义?A. int function_name(int x, int y) { /* ... */ }B. int function_name(int x, int y);C. int function_name(int x, y) { /* ... */ }D. int function_name(int x; int y) { /* ... */ }答案:A7. 在C语言中,以下哪个是正确的递归函数调用?A. function_name(x)B. function_name(x, y)C. function_name(function_name(x))D. function_name(&x)答案:C8. 在C语言中,以下哪个是正确的结构体定义?A. struct person { int age; char name[50]; };B. struct person { int age; char name[50] }C. struct person { int age; char name[50]; }D. struct person { int age; char name[50] } person;答案:A9. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. int ptr*;C. *int ptr;D. int * ptr;答案:A10. 下列哪个是C语言中的位运算符?A. &&B. ||C. &D. ++答案:C二、填空题(每题2分,共10分)1. C语言中,使用________运算符可以实现两个整数的按位与操作。

c语言二级考试题库及详解答案

c语言二级考试题库及详解答案

c语言二级考试题库及详解答案C语言二级考试题库及详解答案一、选择题1. 在C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. 3numberD. variable#答案:B2. C语言中,整型变量int所占的字节数是:A. 1字节B. 2字节C. 4字节D. 8字节答案:C(注:实际字节数可能因编译器和平台而异,但通常为4字节)3. 下列哪个不是C语言的控制语句?A. ifB. switchC. forD. goto答案:B(注:switch也是C语言的控制语句,此题有误)二、填空题1. 在C语言中,若要定义一个整型数组,可以使用以下语法:___________。

答案:int array_name[array_size];2. C语言中,用于计算两个数的乘积的运算符是:___________。

答案:*三、简答题1. 简述C语言中数组和指针的区别。

答案:数组是一种数据结构,用于存储相同类型的元素集合。

指针是一个变量,它存储了另一个变量的内存地址。

数组名可以作为指针使用,但数组本身不是指针。

数组的大小在定义时确定,而指针可以指向不同大小的内存块。

2. 解释C语言中的递归函数。

答案:递归函数是一种函数,它在执行过程中调用自己。

递归函数通常用于解决可以分解为相似子问题的问题。

递归函数必须有一个明确的终止条件,以避免无限递归。

四、编程题1. 编写一个C语言程序,实现求1到100的和。

答案:```c#include <stdio.h>int main() {int sum = 0, i;for(i = 1; i <= 100; i++) {sum += i;}printf("1到100的和是:%d\n", sum);return 0;}```2. 编写一个C语言函数,实现字符串反转。

答案:```cvoid reverseString(char *str) {int len = 0;while(str[len] != '\0') {len++;}for(int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - 1 - i];str[len - 1 - i] = temp;}}```五、论述题1. 论述C语言中函数的作用和重要性。

大二c语言考试题及答案解析

大二c语言考试题及答案解析

大二c语言考试题及答案解析大二C语言考试题及答案解析1. 选择题- 1.1 以下哪个选项是C语言中的合法变量名?- A. 2variable- B. variable2- C. variable-2- D. variable$2- 答案:B- 解析:在C语言中,变量名必须以字母或下划线开头,可以包含字母、数字和下划线,但不能包含特殊字符如$。

- 1.2 C语言中,以下哪个关键字用于定义函数?- A. int- B. return- C. void- D. function- 答案:A- 解析: `int` 是用于定义函数返回类型为整型的关键字。

`void` 用于定义没有返回值的函数,而 `function` 不是C语言的关键字。

2. 填空题- 2.1 写出C语言中声明一个整型数组的语句。

- 答案: `int array[10];`- 解析:此语句声明了一个名为 `array` 的整型数组,包含10个元素。

- 2.2 写出一个C语言函数的原型,该函数接受两个整型参数并返回一个整型值。

- 答案: `int add(int a, int b);`- 解析:此函数原型声明了一个名为 `add` 的函数,它接受两个整型参数 `a` 和 `b`,并返回一个整型值。

3. 简答题- 3.1 解释C语言中指针的概念。

- 答案:指针是指向变量内存地址的变量。

它存储了变量在内存中的地址,而不是变量的值。

通过指针,可以间接访问和修改变量的值。

- 解析:指针在C语言中非常重要,它们允许更灵活的数据操作,如动态内存分配和数组处理。

- 3.2 描述C语言中结构体的用途。

- 答案:结构体是一种数据类型,它可以组合不同类型和数量的数据项。

它允许将相关的数据项组织在一起,便于管理和使用。

- 解析:结构体在C语言中用于创建复杂的数据类型,它们可以包含不同类型的数据,如整数、浮点数、字符、指针等。

4. 编程题- 4.1 编写一个C语言程序,实现两个整数的交换。

最新常熟理工学院-C语言-考试样卷

最新常熟理工学院-C语言-考试样卷
A.&a[1]B.++aC.&a[0]+1D.a+l
13.若有如下声明和语句:
int t[3][3], *pt[3], k;
for(k=0; k<3;k++) pt[k]=&t[k][0];
则表达式*(*(pt+1)+2)所引用的是()。
A.t[2][0]B.&t[2][0]C.t[1][2]D.&t[1][2]
(二)创业优势分析
在上海,随着轨道交通的发展,地铁商铺应运而生,并且在重要商圈已经形成一定的气候,投资经营地铁商铺逐渐为一大热门。在人民广场地下的迪美购物中心,有一家DIY自制饰品店--“碧芝自制饰品店”
虽然调查显示我们的创意计划有很大的发展空间,但是各种如“漂亮女生”和“碧芝”等连锁饰品店在不久的将来将对我们的创意小屋会产生很大的威胁。
D.fun函数的形式参数不能取名为a
11.若函数调用时的实参为变量,则以下关于函数形参和实参的叙述中正确的是()。
A.实参和其对应的形参占用同一存储单元
B.形参不占用存储单元
C.同名的实参和形参占用同一存储单元
D.形参和实参占用不同的存储单元
12.已有声明”int a[5];”,以下表达式中不能正确取得a[1]指针的是()。
C.strcpy(s2, s1);D.strcpy(s2, s3);
7.执行以下程序后的结果是()。
#include <stdio.h>
void main()
{int x=3;
Do
{
printf("%d\t", x=x-3);
}while(!x);
}

江苏省计算机c语言二级考试试题及答案

江苏省计算机c语言二级考试试题及答案

江苏省计算机c语言二级考试试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 若有定义int a=5, b=10;,则表达式a++ + b--的值为多少?A. 14B. 15C. 16D. 11答案:B3. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A4. 若有定义int x=3;,则表达式(x++ * 1/3)的值为多少?A. 0B. 1C. 3D. 4答案:C5. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. main答案:B6. 若有定义int a=5;,则执行语句a*=a-=a*a;后,变量a的值是多少?A. -20B. -5C. 0D. 25答案:C7. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A8. 若有定义int x=3, y=4;,则执行语句x=y==3?y:x;后,变量x的值是多少?A. 3B. 4C. 0D. 1答案:B9. 在C语言中,以下哪个关键字用于声明一个指针?A. intB. charC. *D. void答案:C10. 若有定义int a=5;,则执行语句a=a++ + a--;后,变量a的值是多少?A. 10B. 9C. 11D. 6答案:B二、填空题(每题2分,共20分)1. 在C语言中,使用____关键字可以定义一个枚举类型。

答案:enum2. 若有定义int a=10;,则执行语句a=a*=2;后,变量a的值为____。

答案:203. 在C语言中,使用____函数可以将字符串s2连接到字符串s1的末尾。

江苏省计算机c语言二级考试试题及答案

江苏省计算机c语言二级考试试题及答案

江苏省计算机c语言二级考试试题及答案一、选择题(每题2分,共40分)1. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-nameD. variable name答案:B2. 在C语言中,以下哪个关键字用于声明函数?A. classB. functionC. voidD. int答案:D3. 若有以下代码片段:```cint a = 3, b = 5;printf("%d", a + b);```输出结果是什么?A. 8B. 35C. 53D. 3+5答案:A4. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C5. 以下哪个选项是C语言中合法的数组声明?A. int array[10];B. int array[];C. int array[10][];D. int array[10][10];答案:A6. C语言中,哪个函数用于输入一个字符?A. scanf()B. getchar()C. printf()D. puts()答案:B7. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. %D. +=答案:A8. 在C语言中,哪个关键字用于声明一个结构体?A. structB. unionD. typedef答案:A9. 若有以下代码片段:```cint x = 10;printf("%d", x++);```输出结果是什么?A. 10B. 11C. 9D. 无法确定答案:A10. 在C语言中,哪个函数用于输出一个字符串?A. scanf()B. printf()C. gets()D. puts()答案:D11. 下列哪个选项是C语言中合法的指针声明?A. int *pointer;B. int pointer[];C. int pointer[10];D. int *pointer[10];答案:A12. 在C语言中,哪个关键字用于声明一个枚举?B. unionC. structD. typedef答案:A13. 若有以下代码片段:```cint a = 10, b = 20;printf("%d", a > b ? a : b);```输出结果是什么?A. 10B. 20C. 30D. 无法确定答案:B14. 在C语言中,哪个函数用于计算两个数的绝对值?A. abs()B. fabs()C. sqrt()D. pow()答案:A15. 下列哪个选项是C语言中合法的函数声明?A. int function();B. void function();C. int function(int x);D. All of the above答案:D16. 在C语言中,哪个关键字用于声明一个联合体?A. unionB. structC. enumD. typedef答案:A17. 若有以下代码片段:```cint a = 10, b = 20;printf("%d", a < b ? a : b);```输出结果是什么?A. 10B. 20C. 30D. 无法确定答案:A18. 在C语言中,哪个函数用于计算两个数的指数?A. pow()B. sqrt()C. fabs()D. abs()答案:A19. 下列哪个选项是C语言中合法的宏定义?A. #define PI 3.14159B. #define PI = 3.14159C. #define PI "3.14159"D. #define PI 3.14159答案:A20. 在C语言中,哪个关键字用于声明一个宏?A. defineB. macroC. constD. typedef答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。

江苏二级c语言基础知识题

江苏二级c语言基础知识题

第6章C++语言概述6.1 面向对象的程序设计6.1.1 考点1:面向对象程序设计的三个特征C++是一种面向对象的程序设计语言,充分支持面向对象方法中的三个主要特征。

1.封装性封装是一种信息隐蔽技术,是指将数据和算法捆绑成一个整体,存取数据时只需知道其算法的外部接口而无须了解数据的内部结构。

C++语言通过建立“类”来支持封装性和信息隐蔽。

2.继承性继承性是指一种事物保留了另一种事物的全部特征,并且具有自身的独有性质。

C++语言采用继承来支持重用。

3.多态性多态性是指当多种事物继承自同一种事物时,同一操作在它们之间表现出不同的行为。

C ++语言使用函数重载、模板和虚函数等概念来支持多态性。

例6.1.1 在C++中,实现封装性需借助于()。

[2005年4月选择第12题] A.枚举B.类C.数组D.函数答案:B例6.1.2 关于面向对象的程序设计方法,下列说法正确的是()。

[2004年9月选择第11题]A.“封装性”指的是将不同类型的相关数据组合在一起,作为一个整体进行处理B.“多态性”指的是对象的状态会根据运行时要求自动变化C.基类的私有成员在派生类的对象中不可访问,也不占内存空间D.在面向对象的程序设计中,结构化程序设计方法仍有着重要作用答案:D第7章数据类型、表达式与基本运算7.1 C++数据类型及其定义方法C++中的数据类型大体可以分为3类:基本类型、派生类型和用户定义类型。

用户定义类型是指必须由用户具体定义后才能使用的数据类型,如第11章将要介绍的类。

7.1.1 考点1:基本类型基本类型是系统预先定义好的、与硬件直接相关的类型,包括逻辑型、字符型、整型、浮点型和空值型,是构造派生类型的基本元件。

1.逻辑型用关键字bool表示,因此又称bool(布尔)型。

取值范围只包含true和false,这两个关键字分别对应整数1(表示逻辑真)和0(表示逻辑假)。

2.字符型用关键字char表示,因此又称char型。

大学生二级c语言考试试题及答案

大学生二级c语言考试试题及答案

大学生二级c语言考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个是合法的变量名?A. 2variableB. variable2C. variable-nameD. variable$name答案:B2. 在C语言中,以下哪个选项是正确的整型常量?A. 0x1AB. 0x1aC. 0X1AD. 0x1A.答案:C3. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ||D. &&答案:A4. C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A5. 在C语言中,以下哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:B6. C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][4];B. int array[3,4];C. int array(3)(4);D. int array[3][4][];答案:A7. 在C语言中,以下哪个选项是正确的结构体声明?A. struct Student {int id;char name[20];};B. struct Student: {int id;char name[20];};C. struct Student {int id;string name;};D. struct Student {int id;char name;};答案:A8. C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int *ptr[];C. int (*ptr)[];D. int *ptr[10];答案:A9. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. fgetc()D. All of the above答案:D10. C语言中,以下哪个选项是正确的递归函数声明?A. void factorial(int n) {if (n == 0) return 1;return n * factorial(n-1);}B. void factorial(int n) {if (n == 0) return 1;return n * factorial(n++);}C. void factorial(int n) {if (n == 0) return 1;return n * factorial(n-1);}D. All of the above答案:A二、填空题(每空2分,共20分)1. 在C语言中,使用________关键字可以定义一个枚举类型。

c语言第二章试题及答案

c语言第二章试题及答案

c语言第二章试题及答案一、选择题1. 在C语言中,以下哪个选项不是合法的变量名?A. _123B. intC. 2nameD. name123答案:C2. C语言中,用于定义整型变量的关键字是:A. intB. floatC. charD. double答案:A3. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. %D. ==答案:A4. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defineC. defD. void答案:D5. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello";B. char str[] = "Hello", str2[] = "World";C. char str[] = {"Hello"};D. char str[] = "Hello", "World";答案:A二、填空题1. 在C语言中,使用________关键字可以定义一个指针。

答案:int*2. 如果需要定义一个可以存储10个整数的数组,应该使用________关键字。

答案:int3. 在C语言中,使用________函数可以将字符串从标准输入读取到程序中。

答案:scanf4. 要将一个整数变量的值赋给另一个整数变量,可以使用________运算符。

答案:=5. 在C语言中,使用________函数可以输出字符串到标准输出。

答案:printf三、简答题1. 请简述C语言中数组和指针的区别。

答案:数组是一种数据结构,用于存储相同类型的多个元素,而指针是一种变量,它存储的是另一个变量的内存地址。

数组名可以作为指针使用,但它本身并不是指针。

2. 解释C语言中函数声明和函数定义的区别。

答案:函数声明提供了函数的原型,包括函数名、返回类型和参数类型,但不包含函数体。

常熟理工学院-C#实验报告册(本二)

常熟理工学院-C#实验报告册(本二)

《面向对象程序设计C#》实验指导及报告书 / 学年第学期姓名:______________学号:______________班级:______________指导教师:______________计算机科学与工程学院2010实验目录实验一创建简单的.NET应用程序 (3)实验二选择和循环 (9)实验三数组和字符串处理 (15)实验四类和对象编程练习 (21)实验五继承与多态编程练习 (32)实验六接口和集合 (41)实验七文件和输入输出 (50)实验八代理和事件 (54)实验一创建简单的.NET应用程序一、实验目的1.了解C# 基本程序结构;2.熟悉命令行方式下C#程序编写、编译、调试和执行过程;3.了解VS2005集成开发环境的功能和特点。

二、预习内容1.一个C#应用程序,从编写到运行,要经过哪几个步骤?三、实验内容1. 调试并运行下面程序,并写出运行结果:using System;class SimpleProgram{static void Main(){Console.WriteLine(“Hello!\nWorld.”);}}运行结果(注意,按照屏幕输出格式写):2. 调试并运行下面程序,并写出运行结果:using System;class StarTriangle{static void Main(string[] args){int i, j, k;for (i = 0; i <= 3; i++){for (j = 0; j <= 2 - i; j++)Console.Write(" "); //一个空格for (k = 0; k <= 2 * i; k++)Console.Write("*");Console.WriteLine();}Console.ReadKey();}}运行结果(注意,按照屏幕输出格式写):3.下面是一个模拟计算器的程序(两个操作数都为正整数)。

常熟理工学院-C语言实验报告册(本二)

常熟理工学院-C语言实验报告册(本二)

《C语言程序设计》实验指导及报告书 / 学年第学期姓名:______________学号:______________班级:______________指导教师:______________计算机科学与工程学院2008前言C语言是由贝尔实验室的Dennis Richie于1973年设计并实现的一种程序设计语言,目的是用于写操作系统和复杂的系统程序。

从那时开始,C 语言已经从其位于贝尔实验室的发源地传播到世界各地,它已成为全球程序员的公共语言,并由此诞生了两个新的主流语言C++与Java—它们都建立在C语言的语法和基本结构的基础上。

现在世界上的许多软件都是在C 语言及其衍生的各种语言的基础上开发出来的。

C语言的广泛使用以及其包含了基本程序设计需要理解的主要机制,能满足讨论程序设计问题的需要的特点,使其成为计算机专业的入门语言。

《C语言程序设计》实验指导与报告书是为配合C语言程序设计课程而编写的一本具有很强的实践性教材。

为了达到本课程各个教学环节的规范化,并且让学生真正达到学以致用的效果,除了要求学生掌握本课程大纲所要求的知识点外,更重要的还要通过实践教学环节来拓展学生程序设计的逻辑思维和提高程序设计的能力,同时也能让学生深刻地了解关于如何运用软件工程的理念去开发软件。

本实验指导内容的编写,是根据本课程教学大纲的指导下,以提高学生的实践能力为目的而编写。

要求学生在上机实验前进行预习准备,实验过程认真调试,实验结束后完成实验报告。

本实验指导设计了八个实验,每个实验分为必做实验和选做实验两个部分,选做实验可根据实际情况由学生选做。

目录前言 (1)实验一C简单程序的调试与运行 (3)实验二数据及其运算 (7)实验三程序控制结构 (13)实验四数组应用 (20)实验五指针应用 (26)实验六函数应用 (31)实验七数据结构初步 (38)实验八文件和输入输出 (48)实验一C简单程序的调试与运行一、实验目的1. 熟悉C语言的常用调试环境(TC2.0,CodeBlocks等)。

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

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

大二c语言期末考试题库及详解答案一、选择题(每题2分,共20分)1. 下列选项中,哪个是C语言的关键字?A. intB. INTC. IntegerD. integer答案:A2. C语言中,用于定义一个字符常量的是?A. 'a'B. "a"C. aD. a答案:A3. 在C语言中,下列哪个选项是正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //这是注释D. /*这是注释答案:B4. 下列关于C语言数组的描述中,错误的是?A. 数组可以是一维或多维的B. 数组的索引从0开始C. 数组的大小在定义时确定D. 数组的大小可以动态改变答案:D5. C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. length()C. size()D. sizeof()答案:A6. 下列哪个运算符用于C语言中的逻辑与运算?A. &&B. ||C. &&D. ||答案:A7. 在C语言中,下列哪个选项是正确的文件包含指令?A. #include "stdio.h"B. #include <stdio.h>C. #include "stdio.h"D. #include <stdio.h>答案:B8. C语言中,下列哪个选项是正确的条件语句?A. if (x > 0)B. if x > 0C. if (x > 0) thenD. if (x > 0) {答案:D9. 下列关于C语言函数的描述中,错误的是?A. 函数可以有返回值B. 函数可以没有返回值C. 函数可以有多个返回值D. 函数可以有多个参数答案:C10. 在C语言中,下列哪个选项是正确的循环结构?A. forB. whileC. do-whileD. 所有选项答案:D二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的关键字是________。

常熟理工C语言题库

常熟理工C语言题库

1.以下对于break语句使用的正确描述是()。

A:可以出现在程序中的任何位置B:只能出现在循环或switch结构中C:只能出现在switch结构中 D:只能出现在循环结构中2.以下程序的输出结果为()。

int i;void prt( ){ for(i=5;i<8;i++)printf("%c",'*');printf("\t");}main( ){for(i=5;i<=8;i++) prt( );}A:*** B:*** *** *** *** C:*** *** D:* * *3.已知有声明 char c='1';int x=300;float t=35000;double d=3.1234567e10; ,则以下表达式求值时除( )外其结果都可能是不准确的。

A:x=t/c B:t=d/x C:t=d/le5f D:t=x+c4.在C语言程序中,以下说法正确的是()。

A:函数的定义可以嵌套,但函数的调用不可以嵌套B:函数的定义不可以嵌套,但函数的调用可以嵌套C:函数的定义和函数的调用都不可以嵌套 D:函数的定义和函数的调用都可以嵌套5.若有以下程序段int r=8;printf("%d\n",r>>1);输出结果是()。

A:16 B:8 C:4 D:26.下面四个选项中,均是不合法的用户标识符的选项是()A:A P_0 do B:float la0 _A C:b-a goto int D:_123 temp INT7.以下正确的if语句是()第 1 页/共 2 页A:if(n>0) printf("%f",n)printf("%f",-n);B:if(n>0){ n=n+m;printf("%f",n);}else printf("%f",-n);C:if(n>0){ n=n+m;printf("%f",n);};else printf("%f",-n);D:if(n>0){ n=n+m;printf("%f",n) };else printf("%f",-n);8.若有声明语句"int a=5,b=4,c=3,*p=&a;",则下列()表达式语句是正确的。

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。

()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。

()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。

()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。

答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。

答案:911. 在C语言中,用于动态分配内存的函数是______。

答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。

答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。

答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。

答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。

常熟理工学院C语言题库最新版

常熟理工学院C语言题库最新版

表达式sizeof("key")的值是【】。

④③②①①1 ②2 ③3 ④4下面选项中,不能用作用户标识符的是【】。

①&a ②_00 ③FOR ④print已知有声明“int x=3, y=4, z;”,则执行语句“z=1/2*(x+y);”后,z的值是【】。

①0 ②3③3.5 ④4下列运算符中,优先级最低的是【】。

①* ②!=③+ ④=一元二次方程ax2+bx+c=0有两个相异实根的条件是a≠0且b2-4ac>0,下面选项中正确的表达式是【】。

①a!=0, b*b-4*a*c>0 ②a!=0||b*b-4*a*c>0③a&&b*b-4*a*c>0 ④!a&&b*b-4*a*c>0下面选项中,可以作为用户标识符的是【】。

①6_6 ②void③unsigned ④_0_已有定义“int n; float a, b;”,则执行语句“b=n=a=3.89;”后,b的值为【】。

①3 ②3.0③3.89 ④4.0下列运算符中,优先级最低的是【】。

①* ②!=③+ ④=表达式!(x>0&&y>0) 等价于【】。

①!(x>0)||!(y>0) ②!x>0||!y>0③!x>0&&!y>0 ④!(x>0)&&!(y>0)下面定义符号常量p为3.14中正确的是【】。

①#define p 3.14; ②#define p(3.14)③#define p=3.14 ④#define p 3.14在下面各组标识符中,均可以用作变量名的一组是【】。

①a02, Int ②table_1, a*.0③0_a, W13 ④for, point已知有声明“int x=3, y=4, z;”,则执行语句“z=1/3*(x+y);”后,z的值是【】。

c语言二级程序设计试题及答案

c语言二级程序设计试题及答案

c语言二级程序设计试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言是面向对象的程序设计语言C. C语言具有丰富的数据类型D. C语言具有结构化的特点答案:B2. 在C语言中,用于定义一个整型数组的语句是:A. int a[10];B. int a[];C. int a(10);D. int a=10;答案:A3. 下列哪个选项是正确的C语言函数声明?A. int function(int a, int b);B. int function(int, int);C. int function(int a);D. int function();答案:B4. 在C语言中,用于输入一个字符的函数是:A. scanf()B. printf()C. getchar()D. puts()答案:C5. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. do-while答案:B6. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A7. 下列哪个选项是正确的C语言指针声明?A. int *p;B. int *p[];C. int (*p)[];D. int *p[10];答案:A8. 在C语言中,用于定义一个枚举类型的关键字是:A. enumB. typedefC. structD. union答案:A9. 下列哪个选项是正确的C语言文件操作函数?A. fopen()B. fclose()C. fprintf()D. All of the above答案:D10. 在C语言中,用于定义一个联合体的关键字是:A. unionB. structC. typedefD. enum答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个浮点型变量的关键字是________。

常熟理工学院 c语言题库 (本二)

常熟理工学院 c语言题库 (本二)

下面选项中,不能用作C语言标识符的是(C )。

A._00 B.print C.&b D.FOR下面合法的标识符是(A )。

A.IF B.-321 C.c f D.int可以将高级语言编写的源程序转换为目标程序的软件是(D )。

A.汇编程序B.解释程序C.编辑程序D.编译程序C 语言程序中可以对程序进行注释,注释部分必须用符号(C )括起来。

A.“{”和“}”B.“[”和“]”C.“/*”和“*/”D.“*/”和“/*”已有预处理命令“#include <math.h>”和声明“int x=4, y;”,下面语句中语法正确的是(C )。

A.if(x%2=1)y=x; B.if(sqrt(x)%2)y=x;C.if(x==1)y=x; D.if(x==1)y=&x;下列运算符中,优先级最低的是(D )。

A.* B.!= C.+ D.=逻辑“异或”运算可描述为当且仅当a、b两个操作数中只有一个为真时才为真,其他情况下均为假。

下面能够正确表示逻辑“异或”运算的表达式是(D ))。

A.a || b B.a && bC.(a&&b)&&!(a || b) D.(a || b)&&!(a&&b)下面关于continue和break语句的叙述中正确的是(B )。

A.continue和break语句都可以出现在switch语句中B.continue和break语句都可以出现在循环语句的循环体中C.在switch语句允许出现continue和break语句D.执行循环语句中的continue和break语句都将立即终止循环在while(e)语句中的e与下面条件表达式等价的是(D )。

A.e==0 B.e==1 C.e!=1 D.e!=0已有函数fun的定义“void fun(void) {printf("That's great! ");}”,则调用fun函数的正确形式是(B )。

江苏省计算机c语言二级考试试题及答案

江苏省计算机c语言二级考试试题及答案

江苏省计算机c语言二级考试试题及答案一、选择题1. C语言中,下列语句中不会发生数据截断的是:A. float a = 3.14;B. char b = 'A';C. int c = 50000;D. short d = 32767;答案:A2. 下列哪个不是C语言的关键字?A. intB. floatC. doubleD. main答案:B3. 对于C语言中的逻辑运算符,下列表达式的值为真(非零)的是:A. 1 && 0B. 1 || 0C. !1D. 1 & 0答案:B二、编程题1. 编写一个程序,接受用户输入的三个整数,然后按照从小到大的顺序输出这三个整数。

```c#include <stdio.h>int main() {int num1, num2, num3;printf("请输入三个整数:\n");scanf("%d %d %d", &num1, &num2, &num3);if (num1 > num2) {int temp = num1;num1 = num2;num2 = temp;}if (num1 > num3) {int temp = num1;num1 = num3;num3 = temp;}if (num2 > num3) {int temp = num2;num2 = num3;num3 = temp;}printf("从小到大的顺序为:%d %d %d\n", num1, num2, num3); return 0;}```答案:请输入三个整数:3 1 2从小到大的顺序为:1 2 32. 编写一个递归函数,计算斐波那契数列的第 n 项(n >= 1)。

```c#include <stdio.h>int fibonacci(int n) {if (n == 1 || n == 2) {return 1;} else {return fibonacci(n - 1) + fibonacci(n - 2);}}int main() {int n;printf("请输入正整数 n:");scanf("%d", &n);int result = fibonacci(n);printf("斐波那契数列的第 %d 项为:%d\n", n, result); return 0;}```答案:请输入正整数 n:6斐波那契数列的第 6 项为:8以上是江苏省计算机C语言二级考试的部分试题及答案,希望能够对您有所帮助。

C语言考试题库及答案

C语言考试题库及答案

C语言考试题库及答案一、选择题1. C语言中,以下哪个选项是合法的数据类型?A. intB. floatC. charD. All of the above答案:D2. 在C语言中,哪个关键字用于定义整型变量?A. floatB. doubleC. intD. char答案:C3. 下面哪个选项不是C语言的逻辑运算符?A. &&B. ||C. !D. ++答案:D4. 在C语言中,哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个关键字用于定义结构体?A. structB. unionC. enumD. class答案:A二、填空题6. 在C语言中,用于声明函数原型的是______。

答案:函数原型7. 在C语言中,用于输入输出函数的是______。

答案:stdio.h8. 在C语言中,用于定义常量的是______。

答案:#define 或 const9. 在C语言中,用于定义指针的是______。

答案:(星号)10. 在C语言中,用于终止当前循环的是______。

答案:break三、判断题11. C语言中的数组下标是从1开始的。

()答案:错误12. 在C语言中,switch语句可以替代if-else语句。

()答案:正确13. 在C语言中,所有的变量在使用前必须声明。

()答案:正确14. C语言中的结构体是一种用户自定义的数据类型。

()答案:正确15. 在C语言中,函数的返回值类型不能是数组。

()答案:正确四、编程题16. 编写一个C程序,输出1到100之间所有的偶数。

```c#include <stdio.h>int main() {int i;for (i = 1; i <= 100; i++) {if (i % 2 == 0) {printf("%d\n", i);}}return 0;}```17. 编写一个C程序,计算并输出斐波那契数列的前10项。

2022年常熟理工学院公共课《C语言》科目期末试卷A(有答案)

2022年常熟理工学院公共课《C语言》科目期末试卷A(有答案)

2022年常熟理工学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。

2、结构化程序由________、________ 、________ 3种基本结构组成。

3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、若x和n均是int型变量,且x的初值为12,n的初值为5,则执行表达式x%=(n%=2)后x的值为_______。

5、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为_______。

6、若有定义:int a[]={2,4,6,8,10,12,14,16,18,20,22,24},*q[3],k;则下面程序段的输出是_______。

for(k=0;k<3;k++)q[k]=8.a[k*4];printf("%d\n",q[2][3]);7、执行下面程序段后,k的值是_______。

k=1;n=263;do{k*=n%10;n/=10;} while(n);8、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。

请填空。

a+=_______;b=a-_______;a-=_______;9、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。

10、下面程序wdm的运行结果是_______。

int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0};for(i=0;i<10;i++)y[x[i]]++;printf("%d\n",y[3]);二、选择题11、若有代数式|x3+log10x|,则正确的C语言表达式是()A.fabs(x*3+log(x))B.abs(pow(x,3)+log(x))C.abs(pow(x,3.0)+log(x))D.yfabs(pow(x,3.0)+log(x))12、以下表达式值为3的是( )A.16-13%10B.2+3/2C.14/3-2D.(2+6)/(12-9)13、有定义语句int a,b;,若要通过语句scanf("%d,%d”,&a,&B.;使变量a得到数值6,变量b得到数值5,下面输入形式中错误的是()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
下面选项中,不能用作 C 语言标识符的是( C ) 。 A._00 B.print C.&b D.FOR 下面合法的标识符是( A ) 。 A.IF B.-321 C.c f D.int 可以将高级语言编写的源程序转换为目标程序的软件是( D ) 。 A.汇编程序 B.解释程序 C.编辑程序 D.编译程序 C 语言程序中可以对程序进行注释,注释部分必须用符号( C )括起来。 A.“{”和“}” B.“[”和“]” C.“/*”和“*/” D.“*/”和“/*” 已有预处理命令“#include <math.h>”和声明“int x=4, y;”,下面语句中语法正确的是( C ) 。 A.if(x%2=1)y=x; B.if(sqrt(x)%2)y=x; C.if(x==1)y=x; D.if(x==1)y=&x; 下列运算符中,优先级最低的是( D ) 。 A.* B.!= C.+ D.= 逻辑“异或”运算可描述为当且仅当 a、b 两个操作数中只有一个为真时才为真,其他情况下 均为假。下面能够正确表示逻辑“异或”运算的表达式是( D ))。 A.a || b B.a && b C.(a&&b)&&!(a || b) D.(a || b)&&!(a&&b) 下面关于 continue 和 break 语句的叙述中正确的是( B ) 。 A.continue 和 break 语句都可以出现在 switch 语句中 B.continue 和 break 语句都可以出现在循环语句的循环体中 C.在 switch 语句允许出现 continue 和 break 语句 D.执行循环语句中的 continue 和 break 语句都将立即终止循环 在 while(e)语句中的 e 与下面条件表达式等价的是( D ) 。 A.e==0 B.e==1 C.e!=1 D.e!=0 已有函数 fun 的定义“void fun(void) {printf("That's great! ");}”, 则调用 fun 函数的正确形式是 ( B ) 。 A.fun; B.fun(); C.fun(void); D.fun(1); 设有下列程序段: static int y=2; void f2( ) { static float d=3; …} int x=1; void f1( ) { int z=3; …} 关于程序段中各变量的属性,下面叙述中错误的是( D ) 。 A.x 是全局变量,函数 f1 可以访问,函数 f2 不能访问 B.y 是全局变量,函数 f1 和函数 f2 都可以访问 C.z 是动态变量,函数 f1 可访问,函数 f2 不可访问 D.d 是静态变量,函数 f1 和函数 f2 都可以访问 已知某编译系统中 singed int 类型数据的长度是 16 位,该类型数据的最大值是( A ) 。 A.32767 B.32768 C.127 D.65535 设 k=7,x=12,则下列表达式值为 3 的是( D ) 。 A.x%=(k%=5) B.x%=(k-k%5) C.x%=k-k%5 D.(x%=k)-(k%=5) 已有定义“int a[]={5,4,3,2,1},i=4;”,下列对 a 数组元素的引用中错误的是( B ) 。 A.a[--i] B.a[a[0]] C.a[2*2] D.a[a[i]] 己有声明“int a=0,b=l,*p,*q;”,下列正确的语句是( C ) 。 A.a=p; B.b=q; C.p=&a; D.p=&q; C 语言中,结构体类型变量在程序执行期间( A ) 。 A.所有成员一直驻留在内存中
3
6 xy ,则不正确的 C 语言表达式是(C)。 bc
A.FOR B.-523 C.n b D.if 下面叙述中正确的是(B)。 A.C 程序的基本组成单位是语句 B.简单 C 语句必须以分号结束 C.C 程序中的每一行只能写一条语句 D.C 程序必须在一行内写完 用 C 语言编写的源程序中,(A)是必不可少的。 A.名为 main 的函数定义 B.#include<stdio.h> C.变量定义 D.注释部分 C 源程序中的命令#include 与#define 是在(A)阶段被处理的。 A.预处理 B.编译 C.连接 D.执行 已有定义“int a=3, b=4, c=5;” ,则下列表达式中值为 0 的是(D)。 A.a&&b B.a<=b C.a||b&&c D.!(!c||1) 一元二次方程 ax2+bx+c=0 有两个相异实根的条件是 a 0 且 b2-4ac>0, 下面选项中正确的表 达式是(C)。 A.a!=0, b*b-4*a*c>0 B.a!=0||b*b-4*a*c>0 C.a&&b*b-4*a*c>0 D.!a&&b*b-4*a*c>0 下面关于语句的说法中正确的是(B)。 A.while 语句的循环体至少会被执行 1 次 B.do-while 语句的循环体至少会被执行 1 次 C.for 语句的循环体至少会被执行 1 次 D.在 C 语言中只能用 do、do-while 或 for 语句实现循环结构 下面叙述中正确的是(C)。 A.break 语句只能用于 switch 语句体中 B.continue 语句的作用是:使程序的执行流程跳出包含它的所有循环 C.break 语句只能用在循环体内和 switch 语句体内 D.在循环体内使用 break 语句和 continue 语句的作用相同 对于 C 语言函数,下列叙述中正确的是(A)。 A.函数的定义不能嵌套,但函数调用可以嵌套 B.函数的定义可以嵌套,但函数调用不能嵌套 C.函数的定义和调用都不能嵌套 D.函数的定义和调用都可以嵌套 设有下列程序段: static int y=2; void f2( ) { static float d=3; …} int x=1; void f1( ) { int z=3; …} 关于程序段中各变量的属性,下面叙述中错误的是(D)。 A.x 是全局变量,函数 f1 可以访问,函数 f2 不能访问 B.y 是全局变量,函数 f1 和函数 f2 都可以访问 C.z 是动态变量,函数 f1 可访问,函数 f2 不可访问 D.d 是静态变量,函数 f1 和函数 f2 都可以访问 表达式“'A' +4*25.0-'b'”的正确结果是(B)。 A.67 B.67.0 C.不确定 D.67L 存储字符串"\\\'abc\376"需要的字节数是(D)。 A.11 B.13 C.6 D.7 若有数组 a 和 b 的声明“static char a[]= "abcdef",b[]={ 'a', 'b', 'c', 'd', 'e', 'f'};”则数组 a 和数组 b 的长度分别是(A)。 A.7,6 B.6,7 C.6,6 D.7,7
1
B.只有一个成员驻留在内存中 C.部分成员驻留在内存中 D.没有成员驻留在内存中 若有定义和声明 typedef enum{green, red, yellow, blue, b1ack}color; color flower;,则下列语句 中正确的是( B ) 。 A.green=red; B.flower=red; C.color=red; D.enum=red; 在文件包含预处理语句#include 的使用形式中,当之后的文件名用双引号括起来时,寻找 被包含文件的方式是( C ) 。 A.仅搜索当前目录 B.仅搜索源程序所在的目录 C.先在源程序所在目录搜索,再按系统设定的标准方式搜索 D.直接按系统设定的标准方式搜索目录 已有定义“int a[2][3]={0}; *p=a[0];”,下面表达式中有语法错误的是( A ) 。 A.a[0]=1 B.p[0]=1 C.*p=1 D.a[0][0]=1 下面关于 C 语言数据文件的叙述中正确的是( D ) 。 A.文件由 ASCII 码字符序列组成,C 语言只能读写文本文件 B.文本由二进制数据序列组成,C 语言只能读写二进制文件 C.文件由记录序列组成,可按数据的存放形式分为文本文件和二进制文件 D.文件由数据流序列组成,可按数据的存放形式分为文本文件和二进制文件 下面选项中,不能用作 C 语言标识符的是(C)。 A.FOR B._10 C.&h D.print 下面合法的标识符是(A)。 A.IF B.-412 C.a k D.char C 语言源程序的三种基本结构是顺序结构、(B)结构和循环结构。 A.递归 B.选择 C.转移 D.嵌套 已有定义“float x=1.23456; int i;”,欲将 x 中的数值保留小数点后两位,第三位进行四舍五入 运算,能实现该功能的表达式是(A)。 A.i=x*100+0.5, x=i/100.0 B.x=(x*100+0.5)/100.0 C.x=((int)x*100+0.5)/l00.0 D.x=(x/100+0.5)/100.0 下面定义符号常量 p 为 3.14 中正确的是(D)。 A.#define p 3.14; B.#define p(3.14) C.#define p=3.14 D.#define p 3.14 表达式 !x 等价于(A)。 A.x==0 B.x==1 C.x != 0 D.x!=1 下面关于 if 语句和 switch 语句的叙述中错误的是(D)。 A.if 语句和 switch 语句都可以实现算法的选择结构 B.if 语句和 switch 语句都能实现多路(两路以上)选择 C.if 语句可以嵌套使用 D.switch 语句不能嵌套使用 下面关于循环语句 for、while、do_while 的叙述中正确的是(A)。 A.三种循环语句都可能出现无穷循环 B.三种循环语句中都可以缺省循环终止条件表达式 C.三种循环语句的循环体都至少被无条件地执行一次 D.三种循环语句的循环体都必须放入一对花括号中 在 C 语言中 while 和 do-while 循环的主要区别是(C)。 A.while 的循环控制条件比 do-while 的循环控制条件严格 B.do-while 允许从外部转到循环体内 C.do-while 的循环体至少无条件执行一次 D.do-while 的循环体不能是复合语句
相关文档
最新文档