搜房网,驻马店营销型网站建设优化推广,新手怎么开婚庆公司,惠州网站建设 英语6目录
NO.1
NO.2
NO.3
NO.4
NO.5
NO.6
NO.7
NO.8
NO.9
NO.10
NO.11
NO.12.概念tips
NO.13.求最小公倍数
NO.14.最大公因数
NO.15.输入读取字符串
NO.16.倒置字符串 今天是一些C语言题目#xff0c;最近天气炎热#xff0c;多喝水。
NO.1
下面程序执行后最近天气炎热多喝水。
NO.1
下面程序执行后输出的结果为
#include stdio.h
int cnt0;
int fib(int n){cnt;if(n0)//当值为0/1则函数停止调用。return 1;else if(n1)return 2;elsereturn fib(n-1)fib(n-2);
}
void main()
{fib(8);printf(%d,cnt);
} 考察读代码的能力_函数递归 结果是67 NO.2
在上下文和头文件均正常情况下以下程序的输出结果是
int x 1;
do{printf(%2d\n,x);
}while(x--);考察do while循环和前后置 输出结果陷入死循环 NO.3
下面的代码段中执行之后i和j的值是什么
int i1;
int j;
ji;//i先赋值给j//i再变成2 考察前后置 执行之后的i和j的值是:i2,j1 NO.4
以下程序的k最终值
int i 10;
int j 20;
int k 3;
k * i j;
//赋值操作符的优先级很低很低
//ij
//kk*(ij)考察赋值运算符的优先级和复合赋值运算符 程序的k最终值90 NO.5
以下C程序的输出结果是
#include stdio.h
#include stdlib.h
int a 1;
void test(){int a 2;a 1;
}
int main(){test();printf(%d\n, a);return 0;
}考察全局变量和局部变量 C程序的输出结果是1 关于函数栈帧的创建和销毁
函数栈帧的创建与销毁_唐棣棣的博客-CSDN博客https://blog.csdn.net/m0_74841364/article/details/132018109?spm1001.2014.3001.5502
NO.6
在上下文及头文件均正常的情况下执行如下代码c的值是
int a 0, c 0;
do{--c;//-1a a-1;//-1
}while(a 0);//-10结束循环考察do while循环 执行代码后c的值是-1 NO.7
假定 x 和 y 为 double 型则执行 x2; yx3/2; 后y的值为
double x2;
double yx3/2;
//因为x为double型,则x2.0
//然后3/21.0
//y为double型
//y2.01.03.0 考察变量类型和除号/ 执行代码后y的值是3.000000 NO.8
以下for循环的执行次数是
for(int x 0, y 0; (y 123) (x 4); x);考察for循环和操作符 for循环的执行次数4 NO.9
若有定义语句int year1009,*pyear;以下不能使变量 year 中的值增至 1010 的语句是
A.*p1; B. (*p); C. (*p); D. *p; 考察操作符的优先级和p地址VS (*p) 答案是D NO.10
选择表达式 11|10 的结果本题数值均为十进制?
10
//00000000 00000000 00000000 00001010
11
//00000000 00000000 00000000 00001011
10|11
//00000000 00000000 00000000 00001011
11 考察操作符| 只要有1为1两个同时为0才为0 结果11 NO.11
则表达式 a*bd-c 值的类型为?
char a; int b; float c; double d; 考察操作符表达式求值_整型提升_算术运算 结果double 整型提升和算术运算 C语言之操作符详解篇_唐棣棣的博客-CSDN博客https://blog.csdn.net/m0_74841364/article/details/132075085?spm1001.2014.3001.5502
NO.12.概念tips 和||switch语句结构中不一定有default语句if语句结构中不一定else语句C语言规定在一个源程序中main函数的位置可以任意一个C源程序可由一个或多个函数组成一个C源程序必须包含一个main函数C程序的基本组成单位是函数在C程序中注释说明可以位于任何位置C程序的每行不仅仅只能写一条语句C语言本身没有输入输出C语言是给定语法输入输出是库函数中提供的C语言约定了一些函数规定了函数的名字/功能/参数/返回类型这些规定的函数是有编译器的厂商实现的msvgccclang,的厂商在实现编译器的时候提供实现的这些函数是放在标准库中的成为库函数在对一个C程序进行编译的过程中不能发现注释中的错误
NO.13.求最小公倍数
求最小公倍数
题目描述
正整数 a 和正整数 b 的最小公倍数是指能被 a 和 b 整除的最小的正整数。
请你求 a 和 b 的最小公倍数。
1a,b100000
比如输入5和75和7的最小公倍数是35则需要返回35。
输入描述输入两个正整数。
输出描述输出最小公倍数。
输入5 7
输出35
输入4 6
输出12
输入6 12
输出12 方法1 取两个正整数中最大的数字看能否整除另外一个数字。若能则为最小公倍数。若不能则1看能否整除另外一个数直到能够整除另外一个数就是最小公倍数。 方法2 m/ai (i1,2,3...) 当a*i/b 0时 a*i就是最小公倍数 3*i/5(i1,2,3...) m3*i说明m可以将3整除/5就是123一个个实现哪个可以把5整除m是最小公倍数。 方法3 a和b的最小公倍数 a*b/(a和b的最大公约数_辗转相除法 //方法1
#define _CRT_SECURE_NO_WARNINGS 1
#includestdio.h
int main()
{int a 0;int b 0;scanf(%d %d, a, b);int m a b ? a : b;while (1){if (0 m % b m % a 0)break;m;}printf(%d, m);return 0;
}
//问题1超时算法效率低算法复杂度不能满足要求
//方法2
#includestdio.h
int main()
{int a 0;int b 0;scanf(%d %d, a, b);int i 1;//最小公倍数while (i*a%b ! 0){i;}printf(%d, i*a);return 0;
}
//问题2会超出int类型所容纳量有些数值没有覆盖
#includestdio.h
int main()
{long long a 0;long long b 0;scanf(%lld %lld, a, b);long long i 1;//最小公倍数while (i * a % b ! 0){i;}printf(%lld, i * a);return 0;
}
NO.14.最大公因数
NO.15.输入读取字符串
//方法1
#includestdio.h
int main()
{char word[100] { 0 };//scanf(%s, word);//遇到空格就停止读取了scanf(%[^\n]s, word);printf(%s, word);return 0;
}
//方法2
#includestdio.h
int main()
{char word[100] { 0 };gets(word);//尽管不支持使用还是可以使用printf(%s, word);return 0;
}
//方法3
#includestdio.h
int main()
{char word[100] { 0 };int i 0;int ch 0;while ((ch getchar()) ! \n)//\n结束{word[i] ch;}printf(%s, word);return 0;
}
NO.16.倒置字符串
倒置字符串
题目描述
将一句话的单词进行倒置标点不倒置。比如 I like beijing.
经过处理后变为beijing. like I。字符串长度不超过100。输入描述输入一个仅包含小写字母、空格、. 的字符串长度不超过100。
. 只出现在最后一个单词的末尾。输出描述依次输出倒置之后的字符串以空格分割。输入I like beijing.
输出beijing. like I 方法1 逆序整个字符串逆序每个单词 方法2 逆序每个单词逆序整个字符串 整体思路 设计一个逆序的函数在找到单词和字符串的首位置和尾位置调用函数传参数实现逆置。 //方法1
#includestdio.h
//写逆序函数
void reverse(char *left, char *right)
{//用指针while (left right){char tmp *left;*left *right;*right tmp;left;right--;}
}
int main()
{char word[100] { 0 };gets(word);//输入字符串//1.逆序字符串整体int len strlen(word);reverse(word, wordlen-1);//2.逆序每个单词char* cur word;while (*cur)//循环每个单词{char* start cur;//单词首元素地址while (*cur ! *cur ! \0)//单词个数两个同时为真才为真有一个为假即为假//while (*cur ! || *cur ! \0)//单词个数两个同时为假才为假有一个为真即为真//遇到*cur 第一个*cur ! 为假但是*cur ! \0为真整个表达式为真{cur;}char* end cur - 1;//单词尾巴元素地址reverse(start, end);if (*cur )cur;//遇到空格下一个单词循环//遇到\0结束循环}printf(%s, word);return 0;
}//❌
#includestdio.h
//写逆序函数
void reverse(char word[], int len)
{//用指针char* left word;char* right word len - 1;while (left right){int tmp 0;tmp *left;*left *right;*right tmp;left;right--;}
}
int main()
{char word[100] { 0 };gets(word);//输入字符串//1.逆序字符串整体int len strlen(word);reverse(word, len);//2.逆序每个单词char *cur word;while (*cur)//循环每个单词{char* start cur;//word后面会改变while (*cur ! *cur ! \0)//单词个数两个同时为真才为真有一个为假即为假//while (*cur ! || *cur ! \0)//单词个数两个同时为假才为假有一个为真即为真//遇到*cur 第一个*cur ! 为假但是*cur ! \0为真整个表达式为真{cur;}reverse(start, cur);if(*cur )cur;//遇到空格下一个单词循环//遇到\0结束循环}printf(%s, word);return 0;
}
//因为字符单词是不能封装成一个数值想字符串那样去逆序的~
军训终于要结束了开启新的学期新的篇章
✔✔✔✔最后感谢大家的阅读若有错误和不足欢迎指正
代码----------→【gitee唐棣棣 (TSQXG) - Gitee.com】
联系----------→【邮箱2784139418qq.com】