《NOIP2023(第二十届)初赛普及组C语言试题及答案.docx》由会员分享,可在线阅读,更多相关《NOIP2023(第二十届)初赛普及组C语言试题及答案.docx(5页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、NOIP2023(第二十届)初赛普及组C语言试题及答案 其次十届全国青少年信息学奥林匹克联赛初赛 普及组C语言试题 竞赛时间:2023年10月12日14:3016:30 选手留意: l 试题纸共有8页,答题纸共有2页,满分100分。请在答题纸上作答,写在试题纸上的 一律无效。l 不得运用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。一、单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选项)1. 以下哪个是面对对象的高级语言( )。A. 汇编语言 B. C+ C. Fortran D. Basic 2. 1TB代表的字节数量是( )。A. 2的10次方 B.
2、2的20次方 C. 2的30次方 D. 2的40次方 3. 二进制数00100100和00010101的和是( )。A. 00101000 B. 001010100 C. 01000101 D. 00111001 4. 以下哪一种设备属于输出设备( )。A. 扫描仪 B. 键盘 C. 鼠标 D. 打印机 5. 下列对操作系统功能的描述最为完整的是( )。A. 负责外设与主机之间的信息交换 B. 负责诊断机器的故障 C. 限制和管理计算机系统的各种硬件和软件资源的运用 D. 将源程序编译成目标程序 6. CPU、存储器、I/O设备是通过( )连接起来的。A. 接口 B. 总线 C. 限制线 D.
3、 系统文件 7. 断电后会丢失数据的存储器是( )。A. RAM B. ROM C. 硬盘 D. 光盘 8. 以下哪一种是属于电子邮件收发的协议( )。A. SMTP B. UDP C. P2P D. FTP 9. 下列选项中不属于图像格式的是( )。A. JPEG格式 B. TXT格式 C. GIF格式 D. PNG格式 10. 链表不具有的特点是( )。A. 不必事先估计存储空间 B. 可随机访问任一元素 C. 插入删除不须要移动元素 D. 所需空间与线性表长度成正比 11. 下列各无符号十进制整数中,能用八位二进制表示的数中最大的是( )。A. 296 B. 133 C. 256 D.
4、199 12. 下列几个32位IP地址中,书写错误的是( )。A. 162.105.128.27 B. 192.168.0.1 C. 256.256.129.1 D. 10.0.0.1 13. 要求以下程序的功能是计算:s = 1 + 1/2 + 1/3 + . + 1/10。#include int main() int n; float s; s = 1.0; for (n = 10; n 1; n-) s = s + 1 / n; printf(“%6.4fn“, s); return 0; 程序运行后输出结果错误,导致错误结果的程序行是( )。A. s = 1.0; B. for (n
5、 = 10; n 1; n-) C. s = s + 1 / n; D. printf(“%6.4fn“, s); 14. 设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( )。A. x = (x * 100) + 0.5 / 100.0; B. B. x = (x * 100 + 0.5) / 100.0; C. C. x = (int) (x * 100 + 0.5) / 100.0; D. x = (x / 100 + 0.5) * 100.0; 15. 有以下程序:#include int main() int s, a, n; s
6、 = 0; a = 1; scanf(“%d“, do s += 1; a -= 2; while (a != n); printf(“%dn“, s); return 0; 若要使程序的输出值为2,则应当从键盘给n输入的值是( )。A. -1 B. -3 C. -5 D. 0 16. 一棵具有5层的满二叉树中结点数为( )。A. 31 B. 32 C. 33 D. 16 17. 有向图中每个顶点的度等于该顶点的( )。A. 入度 B. 出度 C. 入度与出度之和 D. 入度与出度之差 18. 设有100个数据元素,采纳折半搜寻时,最大比较次数为( )。A. 6 B. 7 C. 8 D. 10
7、 19. 若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值,c 0。s = a; for (b = 1; b int main() int a, b, c, d, ans; scanf(“%d%d%d“, &a, d = a - b; a = d + c; ans = a * b; printf(“Ans = %dn“, ans); return 0; 输入:2 3 4 输出:_ 2. #include int fun(int n) if (n = 1) return 1; if (n = 2) return 2; return fun(n - 2) - fun(n -
8、1); int main() int n; scanf(“%d“, printf(“%dn“, fun(n); return 0; 输入:7 输出:_ 3. #include #include const int SIZE = 100; int main() char stSIZE; int i, len; fgets(st, sizeof(st), stdin); len = strlen(st); for (i = 0; i = a & sti const int SIZE = 100; int main() int pSIZE; int n, tot, i, cn; tot = 0; s
9、canf(“%d“, for (i = 1; i int delnum(char *s) int i, j; j = 0; for (i = 0; si != 0; i+) if (si 9) sj = si; (2) return (3) const int SIZE = 30; int main() char sSIZE; int len, i; fgets(s, sizeof(s), stdin); len = delnum(s); for (i = 0; i const int SIZE = 100; int matrixSIZE + 1SIZE + 1; int rowsumSIZE + 1SIZE + 1; /rowsumij记录第i行前j个数的和 int m, n, i, j, first, last, area, ans; int main() scanf(“%d %d“, for (i = 1; i ans) ans = area; if (area 下载NOIP2023(其次十届)初赛普及组C语言试题及答案.doc 将本文档下载到自己电脑,便利修改和保藏,请勿运用迅雷等下载。 点此处下载文档 文档为doc格式
限制150内