c语言二级试题讲解,C语言试题,二级C语言试题讲解(9页)-原创力文档

二级 C 语言程序设计模拟试题(一)

一、单项选择题。 (每小题1 分,共 20 分)

1、一个 C 语言程序是由( B )组成。

A) 一个函数 B) 一个或若干个函数

C) 一个过程 D) 一个过程或若干个过程

知识点: C 语言程序的结构

2、C 语言用( D )表示逻辑真值。

A) true B) T C) 整型值 0 D) 非 0

整型值

知识点:数据类型

3、如果程序中有 #include "文件名 " 则意味着( A )。

A) 将 "文件名 " 所指的那个文件的全部内容,在此命令行出现的这一点上,

插 入源程序

B) 指定标准输入输出

C) 宏定义一个函数

D) 条件编译说明

知识点:编译预处理

4 、为一个结构体变量分配存储空间时,其所占容量为( B )。

A) 结构体中第一个成员所占容量 B) 结构体中所有成员所占

容量

C) 结构体中所有成员中所占容量最大者 D) 结构体中最后一个成员

所占容量

知识点:结构体

5、如果 int *px ,*py ;则可用 {temp=*px ;*px=*py ;*py=temp} 实现 *px 和*py

的交换。 其中 temp 应该说明为( A )。

A) int temp B) int &temp C) int **temp D) int

*temp

知识点:指针

6、于合法的 c 语言长整型常量是( A )。

A) 12L B) 6887273 C) 5E12 D) (long)6887273

知识点:数据类型

7、下列程序输出正确的是( A )。

main ()

{ int a=-1,b=1,c;

c= (a++<=0)&&!((b--<=0));

printf( “%d,%d,%d”,a,b,c);

}

A) 0,0,1 B) -1,1,1 C) 0,0,0 D) 0,1,0

知识点:逻辑运算符

8、已知 E 的 ASCII 码是 69,则执行 printf( “%c”,?D?-,8?+?5?); 的结果是( B )。

A) 66 B) A C) B D) E

知识点:数据类型与自动转换

9、段名访问的方式是( A )

A) 结构名 .位段名 B) 位段名 C) 结构名 D) *& 位

段名

知识点:位段

10、有字符数组 a,则正确的输入语句是( C )。

A) gets('a'); B) scanf(" %c" ,a); C) scanf(" %s",a); D)

gets(" a");

知识点:字符数组

11、如果程序中有 static char c;则编译时会对其自动设置初始值为( C )

A) '\n'

好的,我可以回答你的问题。以下是 C 语言创建一个长度为 10 的链表的代码示例: ```c #include <stdio.h> #include <stdlib.h> struct Node { int data; struct Node *next; }; int main() { struct Node *head = NULL; struct Node *tail = NULL; struct Node *newNode = NULL; for (int i = 0; i < 10; i++) { newNode = (struct Node *)malloc(sizeof(struct Node)); if (newNode == NULL) { printf("Memory allocation failed!"); exit(1); } printf("Enter a number: "); scanf("%d", &newNode->data); newNode->next = NULL; if (head == NULL) { head = newNode; } else { tail->next = newNode; } tail = newNode; } // Print the linked list struct Node *current = head; while (current != NULL) { printf("%d ", current->data); current = current->next; } // Free memory current = head; while (current != NULL) { head = head->next; free(current); current = head; } return 0; } ``` 这个程序使用了一个结构体 `Node` 来表示链表中的节点,其中 `data` 保存节点的值,`next` 指向下一个节点。在 `main` 函数中,我们先定义了头指针 `head` 和尾指针 `tail`,并将它们都初始化为 `NULL`。然后使用 `for` 循环,创建 10 个节点并依次加入链表中。每次创建节点时,我们使用 `malloc` 分配一块内存,并读入节点的值。接着判断链表是否为空,如果是,则将头指针指向当前节点;否则,将尾指针的 `next` 指针指向当前节点。最后,更新尾指针为当前节点,进入下一次循环。 创建完链表后,我们使用一个 `while` 循环遍历链表,并输出每个节点的值。最后,我们再次遍历链表,逐个释放节点所占用的内存,防止内存泄漏。 希望这个示例代码能够对你有所帮助。如果你还有其他问题,可以继续问我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值