C语言练习题——bite 寒假班作业(4)
题目
- 第 1 题(单选题)
题目名称:
下面代码执行的结果是:( )
#include <stdio.h>
int main()
{
int i = 0;
for (i = 0; i<10; i++)
{
if (i = 5)
printf("%d ", i);
}
return 0;
}
题目内容:
A .1 2 3 4 5 6 7 8 9 10
B .5 5 5 5 5 5 5 5 5 5
C .死循环的打印5
D .0 1 2 3 4 5 6 7 8 9
= 赋值符号
== 等于
- 第 2 题(编程题)
题目名称:
打印3的倍数的数
题目内容:
写一个代码打印1-100之间所有3的倍数的数字
#include <stdio.h>
int main(){
int count=0;
//打印1-100之间所有3的倍数的数字
for (int i = 1; i <=100; i++ ){
if (i %3 == 0) {
printf("%d ");
count++;
}
if (count % 6 == 0){
printf("%d ");
}
}
return 0;
}
- 第 3 题(编程题)
题目名称:
从大到小输出
题目内容 :
写代码将三个整数数按从大到小输出。
例如:
输入:2 3 1
输出:3 2 1
#include <stdio.h>
int main(){
int a, b, c,tmp;
scanf("%d%d%d",&a, &b, &c);
// max = a > b ? a, a = b : b, b = a ;
// 方法一 简单的交换
if (a < b) {
tmp = a;
a = b;
b = tmp;
}
if (a < c) {
tmp = a;
a = c;
c = tmp;
}
if (b < c) {
tmp = b;
b = c;
c = tmp;
}
// a>b>c
printf("%d%d%d\n",a, b, c);
return 0;
}
- 第 4 题(单选题)
题目名称:
关于if语句说法正确是:(C )
题目内容:
A .if语句后面只能跟一条语句
B .if语句中0表示假,1表示真 (0为假 其他为真?)
C .if语句是一种分支语句,可以实现单分支,也可以实现多分支
D .else语句总是和它的对齐的if语句匹配(就近原则)
- 第 5 题(单选题)
题目名称:
关于关系操作符说法错误的是?
题目内容:
A .C语言的关系操作符就是用来比较大小关系的
B .关系操作符中判断是否相等使用==
C .==
操作符可以用来比较2个字符串是否相等
字符串的比较有专门的函数用于字符串的比较
strcmp()
D .关系操作符参与的关系表达式,通常返回0或1,表示真假
字符串比较大小【字符串比较方法】
strcpm() 函数
使用**标准库函数strcmp()**来比较两个字符串的大小。
这个函数比较两个字符串的大小,并根据它们的字典顺序返回一个整数值。
法1:使用strcmp()函数#include <stdio.h> #include <string.h> int main() { char str1[] = "Hello"; char str2[] = "World"; if (strcmp(str1, str2) > 0) { printf("%s is greater than %s\n", str1, str2); } else if (strcmp(str1, str2) < 0) { printf("%s is less than %s\n", str1, str2); } else { printf("%s is equal to %s\n", str1, str2); } return 0; }
法2:使用指针遍历字符串中的每个字符进行比较
#include <stdio.h> int compare_strings(const char *str1, const char *str2) { for (; *str1 == *str2; str1++, str2++) { if (*str1 == '\0') return 0; } return *str1 - *str2; } int main() { char str1[] = "Hello"; char str2[] = "World"; int result = compare_strings(str1, str2); if (result > 0) { printf("%s is greater than %s\n", str1, str2); } else if (result < 0) { printf("%s is less than %s\n", str1, str2); } else { printf("%s is equal to %s\n", str1, str2); } return 0; }
应确保字符串是以空字符结尾的。
- 第 6 题(单选题)
题目名称:
关于逻辑操作符说法错误的是?
题目内容:
A .&& 表示 并且
B .|| 表示或者
C .|| 操作符的两个操作数只要有一个是假,则表达式结果为 假
D .&& 短路的时候,&&的左边操作数为假,右边不再计算
|| 或运算 有真则真
第 7 题(单选题)
题目名称:
关于switch说法不正确的是:( )
题目内容:
A .switch语句中的default子句可以放在任意位置
B .switch语句中case后的表达式只能是整形常量表达式
C .switch语句中case子句必须在default子句之前
D .switch语句中case表达式不要求顺序
C switch语句中case子句必须在default子句之前
- 第 8 题(单选题)
题目名称:
int func(int a)
{
int b;
switch (a)
{
case 1: b = 30;
case 2: b = 20;
case 3: b = 16;
default: b = 0;
}
return b;
}
则func(1) = ( )
题目内容:
A .30
B .20
C .16
D .0
switch()
- 第 9 题(单选题)
题目名称:
switch©语句中,c不可以是什么类型( )
题目内容:
A .int
B .long
C .char
D .float
ffloat double 都不可以
- 第 10 题(单选题)
题目名称:
下面代码的执行结果是什么( )
#include <stdio.h>
int main() {
int x = 3;
int y = 3;
switch (x % 2) { // 1
case 1:
switch (y) //3
{
case 0:
printf(“first”);
case 1:
printf(“second”);
break;
default: printf(“hello”); // 3
}
case 2:
printf(“third”);
}
return 0;
}
default: printf(“hello”); // 3
printf(“third”);
题目内容:
A .secondthird
B .hello
C .firstsecond
D .hellothird
注意 break的使用,有无break
第 11 题(编程题)
题目名称:
BC51-三角形判断
题目内容:
BC51-三角形判断
三角形判断
点击题目链接,做题
// 0. 条件: 任意两条便之和(都会)大于第三边。
// 1. 等腰三角形: a=b || a = c || b = c 【还可以 a=b && b != c || a = c && c != b || b = c && c != a】// 2. 等边三角形(a=b=c ) :a = b && b = c 【&& a = c】
#include <stdio.h>
int main() {
int a, b,c;
// printf("please enter a,b,c u want:");
while (scanf("%d %d %d", &a, &b,&c) != EOF) { // 注意 while 处理多个 case
// 两边之和大于第三边
if (a + b > c && a + c > b && b + c > a) {
// if (a + b > c || a + c > b || b + c > a) {
if (a == b && a== c) {
printf("Equilateral triangle!\n");
} else if (a == b || a == c || b == c) {
printf("Isosceles triangle!\n");
} else {
printf("Ordinary triangle!\n");
}
} else {
printf("Not a triangle!\n");
}
// printf("%d\n", a + b);
}
return 0;
}
提交牛客网提交代码截图和提交通过的2张截图
- 第 12 题(编程题)
题目名称:
数9的个数
题目内容:
编写程序数一下 1到 100 的所有整数中出现多少个数字9
【分析】
#include <stdio.h>
/**
* 在1-100的所有整数中有多少个数字含有9
* 【分析 】
* 9可以出现在 个位数 以及 十位数 上
* 出现在 个位数 19 取它的余数,余数为9 可以说明个位数含有9 19 % 10 = 9
* 十位数 除以10得出的商中含有9 可以判断十位数是9 90 / 10 = 9
* @return
*/
int main() {
int count = 0, i;
for (i = 1; i <= 100; i++) {
if (i % 10 == 9) {
count++;
}
if (i / 10 == 9) {
count++;
}
}
printf("Hello, World! total number : %d\n", count);
return 0;
}