30天掌握C语言 | 1
Posted 星空长明
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了30天掌握C语言 | 1相关的知识,希望对你有一定的参考价值。
一、判断题
1、表达式(a^a)的值恒为0。
2、执行以下程序段,输入10,输出10.00。
double x;
scanf("%d", &x);
printf("%.2f", x);
3、C程序中,用一对大括号{}括起来的多条语句称为复合语句,复合语句在语法上被认为是一条语句。
4、求余数运算符%的两边只能是整型的数据。
5、判断整型变量a能否同时被3和7整除的表达式为a%3==0 && a%7==0。
二、单选题
1、C 语言程序中可以对程序进行注释,注释部分必须用什么符号括起来?
A.'{' 和‘}'
B.'[' 和 ']'
C.'/*' 和 '*/'
D.'*/' 和 '/*'
2、要调用数学函数时,在#include命令行中应包含____。
A."stdio.h"
B."string.h"
C."math.h"
D."ctype.h"
3、表达式__的值是0。
A.3%5
B.3/5.0
C.3/5
D.3<5
4、表达式8>6>3值是( )。
A.0
B.1
C.3
D.表达式语法错
5、逻辑运算符两侧运算对象的数据类型( )。
D.可以是任何类型的数据
三、程序填空题
输入一个正整数 n (1≤n≤10)和n 阶方阵a的元素,如果方阵a中的所有元素都沿主对角线对称,输出“Yes”, 否则,输出“No”。主对角线为从矩阵的左上角至右下角的连线,方阵a中的所有元素都沿主对角线对称指对所有i, k,a[i][k]和a[k][i]相等。输入输出示例如下:
输入:
3
1 2 3
4 5 6
7 8 9
输出:
No
int main(void)
{
int found, i, k, n;
int a[10][10];
scanf ("%d", &n);
for (i = 0; i < n; i++)
for (k = 0; k < n; k++)
scanf("%d", &a[i][k]);
found = 1;
for (i = 0; i < n; i++){
for (k = 0; k < i; k++){
if (/*(1)*/) {
/*(2)*/;
break;
}
}
if (/*(3)*/){
break;
}
}
if (found != 0){
printf("Yes\n");
}
else{
printf("No\n");
}
return 0;
}
四、函数题
建立学生信息链表
本题要求实现一个将输入的学生成绩组织成单向链表的简单函数。
函数接口定义:
void input();
该函数利用scanf从输入中获取学生的信息,并将其组织成单向链表。链表节点结构定义如下:
struct stud_node {
int num; /*学号*/
char name[20]; /*姓名*/
int score; /*成绩*/
struct stud_node *next; /*指向下个结点的指针*/
};
单向链表的头尾指针保存在全局变量head和tail中。
输入为若干个学生的信息(学号、姓名、成绩),当输入学号为0时结束。
裁判测试程序样例:
struct stud_node {
int num;
char name[20];
int score;
struct stud_node *next;
};
struct stud_node *head, *tail;
void input();
int main()
{
struct stud_node *p;
head = tail = NULL;
input();
for ( p = head; p != NULL; p = p->next )
printf("%d %s %d\n", p->num, p->name, p->score);
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
1 zhang 78
2 wang 80
3 li 75
4 zhao 85
0
输出样例:
1 zhang 78
2 wang 80
3 li 75
4 zhao 85
以上是关于30天掌握C语言 | 1的主要内容,如果未能解决你的问题,请参考以下文章